2012-08-12 67 views
0

問題不在emacs中調試c,php,python等,而是調試emacs本身。 我已經面臨着一個分段錯誤,當我嘗試使用 的Mx gdb的輸入我應該在調試emacs時設置斷點?

現在我有建立與調試信息的Emacs的Emacs進入GDB模式,並有使用「GDB emacs的」命令加載它。

l命令顯示emacs的源代碼, 現在我的問題是如何調試emacs?我應該在哪裏設置斷點? 如何使用gdb找到分段錯誤的起源?

以下是關於我現在所做的截圖,所以任何建議我應該如何調試emacs?並在哪裏設置中斷點?

http://i1271.photobucket.com/albums/jj624/bigmeowOoO/emacs_where-i-should-set-breakpoint-when-debug-emacs.jpg

+0

只是在調試器中運行它。如果它發生段錯誤,那麼調試器應該捕獲它。 http://www.unknownroad.com/rtfm/gdbtut/gdbsegfault.html – Tom 2012-08-12 15:48:03

+0

這個問題是一個延續:http://stackoverflow.com/questions/11921100/fatal-error-11segmentation-fault-when-trying -to-進入-GDB-模式在-的Emacs什麼。通常你應該只編輯一個你已經問過的問題,而不是開始一個新的問題。再一次,你已經問過這個原始問題了,你應該刪掉它。 – 2012-08-12 17:52:40

回答

2

HOWTO找到段錯誤的用gdb的由來?

不要設置任何斷點(還)。只需使用run命令。這將啓動emacs運行(在GDB控制下)。

在那emacs,做M-x gdbemacs將會崩潰(如果你幸運的話),你會在崩潰點向右獲得(gdb)提示。

從那裏,使用gdb檢查崩潰點處的emacs的狀態。找出哪些變量具有錯誤的值等等。然後找出這些變量的設置位置,在那裏設置斷點,然後重複(就像您在調試其他程序時一樣 - emacs作爲您的錯誤程序沒有什麼特別之處)。

P.S.請不要發佈圖片,其中簡單的文字剪切/粘貼將傳達完全相同的信息

相關問題