崩溃文件生成及调试
linux & mac
- 产生core文件方法
- 在当前环境下生成coredump文件,运行
ulimit -c unlimited - 永久生成coredump文件,在
/etc/profile文件中追加一行ulimit-c unlimited
- 默认coredump文件生成在当前工作目录,修改文件
/proc/sys/kernel/core_pattern为/data/coredump/core.%e.%p其中%e表示程序名,%p表示进程id,路径为/data/coredump目录 - 编译时要加上
-g选项,这个才能用gdb调试的coredump linux使用加载gdb加载coredump文件进行调试
mac使用lldb加载coredump文件进行调试
- ulimit -c 显示核心转储文件大小的最大值,如果这里是零:禁止核心转储(对于本进程和它的子进程)。
- 默认情况下,
maccore文件均存在/cores目录下,linuxcore文件存在当前工作目录。- 可以通过
ulimit -c unlimited来设置core文件生成路径。 - 可以通过
ulimit -c size来设置core文件大小。 - 可以通过
ulimit -c 0来禁止生成core文件。
- 可以通过
windows
windows 请查看这篇文章 Windows C++ 程序崩溃收集工具