如何在 C/C++ 中调试一个 core?


当操作系统由于程序故障终止进程时,该进程会转储内核。发生这种情况最常见的原因是程序访问了无效的指针值,如 NULL 或某些超出其内存区域的值。作为该进程的一部分,操作系统会尝试将我们的信息写入文件,以便我们分析发生了什么。

此内核可按如下方式用于诊断和调试我们的程序 −

默认情况下,内核被转储到 /proc/sys/kernel 目录中。要调试一个内核,该程序必须使用 -g 选项进行编译。一旦你有内核运行 gdb −

$ gdb  nameOfExecutable core

这将在 gdb 中打开内核,现在你可以继续进行调试。如果你不知道如何使用 gdb,可以使用此链接了解更多信息: https://www.ibm.com/developerworks/library/l-gdb/

更新于: 24-6 月-2020

348 次浏览

开启你的职业生涯

完成课程即可获得认证

开始
广告