2014-11-06 174 views
5

我正在編寫一個小程序。當我運行其中一個選項時,出現以下錯誤。查看核心轉儲

terminate called after throwing an instance of 'std::invalid_argument' 
what(): stoi 
Aborted (core dumped) 

我已經查看了存放.cpp和.h文件的目錄,並且在我運行它之後核心確實出現在那裏。我用

ulimit -c unlimited 

和我一起

unlimit -a. 

檢查它當我在我的終端上運行GDB,並嘗試訪問內核,我得到如下回應

not in executable format: File format not recognized 

我會怎樣看看我的核心轉儲,以便我可以看到是什麼造成的?

回答

6

分析核心轉儲與GDB,將它作爲 GDB的參數,可執行後:

gdb executable core 

GDB將轉儲核心的瞬間加載可執行文件的狀態。您將能夠檢查其內存(包括堆棧回溯,以及堆或堆棧中的任何數據),但將無法執行需要可執行文件運行的操作(例如步進,繼續或調用函數) 。

+0

這很棒!謝謝! – maxcollector 2014-11-06 23:20:51