我希望在运行此代码时看到错误的回溯。
(make-network-process :name (dbgp-make-listner-name 10004)
:server 1
:service 10004
:family 'ipv4
:nowait t
:noquery t
:filter 'dbgp-comint-setup
:sentinel 'dbgp-listener-sentinel
:log 'dbgp-listener-log)
https://github.com/gregsexton/ob-ipython/issues/4
这表明我可以看到make-network-process
下发生了什么。
Debugger entered--Lisp error: (file-error "make client process failed" "connection refused" :name "localhost" :buffer # :host "localhost" :service 9988 :nowait nil)
make-network-process(:name "localhost" :buffer # :host "localhost" :service 9988 :nowait nil)
open-network-stream("localhost" # "localhost" 9988 :type plain :nowait nil)
byte-code . . .
url-open-stream("localhost" # "localhost" 9988)
url-http-find-free-connection("localhost" 9988)
url-http([cl-struct-url "http" nil nil "localhost" 9988 "/execute/default" nil nil t nil t] #128 "\302\303\304p#\210\300\305\240\210\301p\240\207" [(nil) (nil) url-debug retrieval "Synchronous fetching done (%S)" t] 5 "\n\n(fn &rest IGNORED)")
url-retrieve-internal("http://localhost:9988/execute/default" #128 "\302\303\304p#\210\300\305\240\210\301p\240\207" [(nil) (nil) url-debug retrieval "Synchronous fetching done (%S)" t] 5 "\n\n(fn &rest IGNORED)" nil nil)
url-retrieve("http://localhost:9988/execute/default" #[128
我试过
toggle-debug-on-error
edebug-eval-defun
但我无法看到回溯......
在*Backtrace*
缓冲区上,我可以看到
Debugger entered: nil
(progn (debug) (make-network-process :name (dbgp-make-listner-name 10004) :server 1 :service 10004 :family (quote ipv4) :nowait t :noquery t :filter (quote dbgp-comint-setup) :sentinel (quote dbgp-listener-sentinel) :log (quote dbgp-listener-log)))
eval((progn (debug) (make-network-process :name (dbgp-make-listner-name 10004) :server 1 :service 10004 :family (quote ipv4) :nowait t :noquery t :filter (quote dbgp-comint-setup) :sentinel (quote dbgp-listener-sentinel) :log (quote dbgp-listener-log))) nil)
edebug-eval-defun(nil)
apply(edebug-eval-defun nil)
eval-defun(nil)
funcall-interactively(eval-defun nil)
call-interactively(eval-defun record nil)
command-execute(eval-defun record)
helm-M-x(nil "eval-defun")
funcall-interactively(helm-M-x nil "eval-defun")
call-interactively(helm-M-x nil nil)
command-execute(helm-M-x)
虽然第一条曲线显示了make-network-process
背后的情况,但我的追踪并没有更深入。
答案 0 :(得分:0)
所以问题是如何在回溯中获得更多细节。
对于字节编译的elisp函数,加载有问题的库的未编译版本通常会为您提供更多详细信息,因为调试器可以显示确切位置功能发生了。
但是在这种情况下,make-network-process
是一个C函数,所以你现在看到的就是你要离开elisp调试器。
如果您想了解更多内容,您必须检查/调试process.c中的源代码。