2012-08-12 120 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.请不要发布图片,其中简单的文字剪切/粘贴将传达完全相同的信息

相关问题