如何在C / C ++中调试内核?

当进程由于程序故障而被操作系统终止时,进程将转储核心。发生这种情况的最典型原因是程序访问了无效的指针值(例如NULL)或某个值超出了其内存区域。作为该过程的一部分,操作系统尝试将我们的信息写入文件中,以使我们能够分析发生的情况。

此核心可按以下方式用于诊断和调试我们的程序-

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

$ gdb  nameOfExecutable core

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