如何在 C/C++ 中调试一个 core?
当操作系统由于程序故障终止进程时,该进程会转储内核。发生这种情况最常见的原因是程序访问了无效的指针值,如 NULL 或某些超出其内存区域的值。作为该进程的一部分,操作系统会尝试将我们的信息写入文件,以便我们分析发生了什么。
此内核可按如下方式用于诊断和调试我们的程序 −
默认情况下,内核被转储到 /proc/sys/kernel 目录中。要调试一个内核,该程序必须使用 -g 选项进行编译。一旦你有内核运行 gdb −
$ gdb nameOfExecutable core
这将在 gdb 中打开内核,现在你可以继续进行调试。如果你不知道如何使用 gdb,可以使用此链接了解更多信息: https://www.ibm.com/developerworks/library/l-gdb/
广告