Debugging 我的win32 emacs随机崩溃。我如何调试这个?

Debugging 我的win32 emacs随机崩溃。我如何调试这个?,debugging,emacs,Debugging,Emacs,我的emacs配置在Linux下有点不稳定,而在Windows下情况更糟。它似乎是随机崩溃的。我如何调试正在发生的事情?什么样的配置错误会导致emacs锁定或硬崩溃 顺便说一下,我知道ESC-ESC-ESC和C-g。崩溃比这更严重:-(当我升级到emacs v23时,我在win32上遇到了一系列emacs问题 随机旋转,奇怪的行为,完全无法使用 结果是由于一个重复的库——我的加载路径中有一个旧版本的语义包,而emacs 23添加了一个新版本的语义包。不知怎的,这两个包互相争斗,导致了所有的旋转

我的emacs配置在Linux下有点不稳定,而在Windows下情况更糟。它似乎是随机崩溃的。我如何调试正在发生的事情?什么样的配置错误会导致emacs锁定或硬崩溃


顺便说一下,我知道ESC-ESC-ESC和C-g。崩溃比这更严重:-(

当我升级到emacs v23时,我在win32上遇到了一系列emacs问题

随机旋转,奇怪的行为,完全无法使用

结果是由于一个重复的库——我的加载路径中有一个旧版本的语义包,而emacs 23添加了一个新版本的语义包。不知怎的,这两个包互相争斗,导致了所有的旋转

我调试或诊断它的方法是从.emacs中删除所有内容,然后逐步添加内容。添加一个小小节,然后重新启动emacs。如果它起作用,添加另一小节,再次启动emacs。当我谈到小节时,就像
(require'cc mode)
。我添加并测试了每个“require”语句。我还将钩子函数的defun和将钩子fn添加到相应钩子中的行作为单个节处理。当我添加更改加载路径的行时,spin/hang返回并导致解决方案



你使用了“我的端口”这个词…我不知道这意味着什么,但是如果你自己编译Emacs,也许不考虑这样做。Win32的Emacs的二进制版本对我来说很好。

< P>我在Win32上遇到了一系列问题,当我升级到Emacs v23。 随机旋转,奇怪的行为,完全无法使用

结果是由于一个重复的库——我的加载路径中有一个旧版本的语义包,而emacs 23添加了一个新版本的语义包。不知怎的,这两个包互相争斗,导致了所有的旋转

我调试或诊断它的方法是从.emacs中删除所有内容,然后逐步添加内容。添加一个小小节,然后重新启动emacs。如果它起作用,添加另一小节,再次启动emacs。当我谈到小节时,就像
(require'cc mode)
。我添加并测试了每个“require”语句。我还将钩子函数的defun和将钩子fn添加到相应钩子中的行作为单个节处理。当我添加更改加载路径的行时,spin/hang返回并导致解决方案



你使用了“我的端口”这个词…我不确定这意味着什么,但是如果你自己编译Emacs,也许考虑不这样做。Win32的Emacs的二进制版本对我来说很好。

这应该解决你的问题:ALT+!vim…抱歉不能抗拒;我从来没有听说过Emacs崩溃,这很奇怪。当你说“我的Windows端口”时…你真的自己端口了吗?或者使用标准Windows版本之一?什么类型的崩溃?如果这是一个分段错误(我怀疑),那就是一个emacs错误。您可以使用gdb。如果不是,那就是一个elisp错误(当然是您的emacs配置)。您可以使用emacs elisp调试器。我的配置是在使用Linux时编写的。为了让它在Windows中工作,我不得不做一些欺骗。这应该可以解决你的问题:Alt+!维姆。。。对不起,我无法抗拒;)我从来没有听说过emacs崩溃,这很奇怪。当你说“我的Windows端口”时…你真的自己端口了吗?或者使用标准Windows版本之一?什么类型的崩溃?如果这是一个分段错误(我怀疑),那就是一个emacs错误。您可以使用gdb。如果不是,那就是一个elisp错误(当然是您的emacs配置)。您可以使用emacs elisp调试器。我的配置是在使用Linux时编写的。为了让它在Windows中运行,我不得不做一些欺骗。二进制搜索应该也能做到这一点:注释掉配置的一半;如果它中断,则取消对它的注释并在另一半上递归。否则会在这一半上递归;如果它中断,则取消对它的注释并在另一半上递归。否则,在这一半上会再次出现。