Debugging R:使用ess tracebug调试来自emacs的代码?

Debugging R:使用ess tracebug调试来自emacs的代码?,debugging,r,emacs,ess,Debugging,R,Emacs,Ess,我想在emacs中使用R代码的交互式调试,并找到了关于ess tracebug的信息,但无法使其正常工作。我做了以下工作: 已安装ess tracebug 已开始使用ESS执行R脚本C-C-n 设置一个断点,现在如果我尝试执行M-c c,会显示“调试未激活” 以下是我添加到~/.emacs文件中的内容: (load "/home/user/ess/ess-5.13/lisp/ess-site") (ess-toggle-underscore nil) (add-to-list 'load-pat

我想在emacs中使用R代码的交互式调试,并找到了关于ess tracebug的信息,但无法使其正常工作。我做了以下工作:

  • 已安装
    ess tracebug
  • 已开始使用ESS执行R脚本
    C-C-n
  • 设置一个断点,现在如果我尝试执行
    M-c c
    ,会显示“调试未激活”
  • 以下是我添加到
    ~/.emacs
    文件中的内容:

    (load "/home/user/ess/ess-5.13/lisp/ess-site")
    (ess-toggle-underscore nil)
    (add-to-list 'load-path "/home/user/emacs/")
    (require 'ess-tracebug)
    (add-hook 'ess-post-run-hook 'ess-tracebug t)
    (define-key ess-mode-map "\M-]" 'next-error)
    (define-key ess-mode-map "\M-[" 'previous-error)
    (define-key inferior-ess-mode-map "\M-]" 'next-error-no-select)
    (define-key inferior-ess-mode-map "\M-[" 'previous-error-no-select)
    

    有什么建议吗?

    我假设您正在Emacs缓冲区中运行
    R
    ,并且您的脚本在另一个缓冲区中。要使用
    ess-tracebug
    进行调试,必须键入
    M-x ess-tracebug
    以启动实际的tracebug会话


    这应该可以完成任务。

    是的,这是完全正确的,因为主页上还说,每次R会话以
    开始时,您都可以激活ess tracebug(添加hook“ess post run hook”ess tracebug)