-->

故障排除emacs的错误观念:“适用于:产卵子进程:EXEC格式错误”(Ideas for trou

2019-09-29 06:37发布

我试图用Emacs和Cygwin的使用中,RDebug和我遇到的麻烦。 每当我做的Mx中,RDebug并给予相应的脚本来运行,它与停止错误

 "apply: Spawning child process: exec format error"

从一些google搜索,似乎是这样,如果我试图发起一个cygwin可执行通过Windows命令提示符或反之亦然可能发生。 它也可能发生,如果可执行文件路径是UNIX风格的链接。

我试图找出在中,RDebug正在从exec'd检查哪个这些是问题,以及如何解决它的地方。

我试过以下,到目前为止,但没有喜悦:*在中,RDebug使用edebug,它的被叫方:这让我进入GUD常见-init和我很快就迷了路试图找出其中exec调用时发生。 *尝试从Cygwin的壳切换到窗口和回看是否有任何区别:没有区别的。

需要注意的是从我的窗户从我的cygwin外壳(通过Mx shell在调用的)外壳,以及我可以运行中,RDebug。 我猜在/ usr / bin中/中,RDebug和/usr/bin/rdebug.bat有事情做与此有关。

任何想法解决这个问题,或者调试这个问题将是真正伟大。

一些进展

我设法弄清楚,我可以尝试使用COMINT运行(MX COMINT - 运行输入中,RDebug ENTER)执行中,RDebug复制了同样的问题。 从一些调试和涉水通”的代码,它看起来像Emacs是调用启动文件的过程(类似COMINT运行),启动中,RDebug过程。

我也有以下的同时加载了Cygwin的:

;;; Use `bash' as the default shell in Emacs.
(setq exec-path (cons  cygwin-bin exec-path))
(setq shell-file-name (concat cygwin-bin "/bash.exe")) ; Subprocesses invoked via the shell.
(setenv "SHELL" shell-file-name)
(setenv "PATH" (concat 
        (getenv "PATH") 
        (concat ";" (substring data-directory 0 2) "\\cygwin\\bin")) )
(setq explicit-shell-file-name shell-file-name) ; Interactive shell
(setq explicit-shell-args '("--login" "-i"))
(setq w32-quote-process-args ?\") ;; " 

更多进展

暂时重命名rdebug.bat透露,COMINT运行经在DOS调用rdebug.bat。 我想中,RDebug通过一个bash shell的时候我调用COMINT运行调用。 如何指定壳COMINT经营用途的任何想法?

Answer 1:

我有同样的问题,发现下面这个简单的解决方法。

进入的Mx中,RDebug后,它会提示要执行的命令。 以下命令将显示为默认设置:

Run rdebug (like this): rdebug --emacs 3 hanoi.rb

修改此命令:

Run rdebug (like this): ruby /usr/bin/rdebug --emacs 3 hanoi.rb

将能够解决该报告的问题。



文章来源: Ideas for troubleshooting emacs error: “apply: Spawning child process: exec format error”