用chenconodeskcom:~ chencon$ ulimit -c
unlimited
来查看,显示0表示关闭
chenconodeskcom:~ chencon$ ulimit -c unlimited
来打开,但是这个只在当前窗口有效果。如果需要变成系统全局设置。
就需要去改/etc/profile文件,打开,然后加上上面这行。就可以了,这样当产生Crash的时候就会自动产生dump文件。
上面/etc/profile这文件通常是只读的,右键Get Info(显示简介)可以显示权限设置,在最后一个分类里。共享与权限,修改就可以了。
之后需要配置一下dump产生的规则和路径
sudo sysctl kern.corefile=/cores/core.%N.%P
其中%N表示进程名字,%P表示进程id。Linux还有%S,%T分别表示最后一个信号和时间,在MAC上没找到对应的。
最后如何用lldb来查看一个core dump文件
在命令行中,需要输入
chenconodeskcom:~ chencon$ lldb -c /cores/core.Conan.52661
(lldb) target create --core "/cores/core.Conan.52661"
warning: (x86_64) /cores/core.Conan.52661 load command 115 LC_SEGMENT_64 has a fileoff + filesize (0x21c49000) that extends beyond the end of the file (0x21c48000), the segment will be truncated to match
warning: (x86_64) /cores/core.Conan.52661 load command 116 LC_SEGMENT_64 has a fileoff (0x21c49000) that extends beyond the end of the file (0x21c48000), ignoring this section
Core file '/cores/core.Conan.52661' (x86_64) was loaded.
(lldb) command source -s 1 '/Users/chencon/./.lldbinit'
warning: failed to set breakpoint site at 0x7fff668dc000 for breakpoint 2.1: error: mach-o-core does not support enabling breakpoints
(lldb) bt
* thread #1: tid = 0x0000, 0x000000010729fb8e Conan`main(argc=1, argv=0x00007fff58960a90) + 30 at main.cpp:24, stop reason = signal SIGSTOP
* frame #0: 0x000000010729fb8e Conan`main(argc=1, argv=0x00007fff58960a90) + 30 at main.cpp:24
frame #1: 0x00007fff9143d5ad libdyld.dylib`start + 1
进程文件:mDNSResponder 或者 mDNSResponder.exe进程名称: Bonjour for Windows Component
描述:
mDNSResponder.exe是一款名为Bonjour的音乐分享软件相关程序。
出品者: Apple
属于: Bonjour for Windows
系统进程: 否
后台程序: 否
使用网络: 否
硬件相关: 否
常见错误: 未知N/A
内存使用: 未知N/A
安全等级 (0-5): 2
间谍软件: 否
广告软件: 否
病毒: 否
木马: 否
这个进程很多时候是安装了ADOBE CS3 之后出现的。不过,苹果公司的一些产品(如 Safari 浏览器)中也捆绑有它,不过在安装前会询问,而且在系统的“添加或者删除程序”中也有卸载入口。
它在windows服务里面加了一个服务项。进程为mDNSResponder.exe。
解决方法:
运行"C:\Program Files\Bonjour\mDNSResponder.exe" -remove
打开 C:\Program Files\Bonjour ,重命名 mdnsNSP.dll 为 mdnsNSP.old
重启电脑
删除 Program Files\Bonjour 文件夹
到此清理完毕。
macOS进程打开的文件可以通过使用终端命令 lsof 来查看。例如,要查看某个特定进程打开的文件,可以使用以下命令:lsof -p <PID>
其中,<PID>是要查看的进程的PID(进程ID)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)