如何在 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 次瀏覽

開啟你的職業生涯

完成課程即可獲得認證

開始
廣告
© . All rights reserved.