這段時間,由于做的是Linux環境下的C++程序移植工作,總會碰到"段錯誤/已放棄"之類的問題,可以通過以下方式得到程序退出時的調用堆棧信息,方便錯誤的定位
- 打開生成core.xxx文件開關:設置ulimit -c unlimited,也可在環境變量中設置,以避免每次打開終端時都要進行設置;
- 執行linux下debug版本的應用程序: ./AppName;
- 程序出現"段錯誤/已放棄"而退出時,會在當前運行目錄下產生 core.xxx文件(其中xxx是一串數字);
- 使用gdb運行core.xxx文件: gdb ./AppName core.xxx;
- 在gdb>下執行info stack查看最后的堆棧,從堆棧中得到最后退出時的信息。
更多操作詳情查看: Linux下發生段錯誤時如何產生core文件