5

我对一些 R 包感兴趣,想了解它是如何工作的,是否有任何工具可以逐步运行包中的方法并打印中间输出?

4

4 回答 4

5

前两个答案已经告诉您基本 R 和附加包可以做什么。

就 IDE 而言,您有两种选择:

  1. Eclipse的StatET 插件为此提供了一些功能(我没有使用过)。

  2. ESS for Emacs 集成了最新的 ESS 版本ess-tracebug,它也可以做到这一点。这是ess-tracebug 仍然是第三方项目而不是ESS的一部分时的一些文档。虽然我是 ESS 用户,但我还没有尝试过。

以下是 ess-tracebug 的帮助,说明它可以做什么:

Documentation:

Default ess-tracebug key bindings:

* Breakpoints:

 b   . Set BP (repeat to cycle BP type) . `ess-bp-set'
 B   . Set conditional BP               . `ess-bp-set-conditional'
 k   . Kill BP                          . `ess-bp-kil'
 K   . Kill all BPs                     . `ess-bp-kill-all'
 t   . Toggle BP state                  . `ess-bp-toggle-state'
 l   . Set logger BP                    . `ess-bp-set-logger'
 C-n . Goto next BP                     . `ess-bp-next'
 C-p . Goto previous BP                 . `ess-bp-previous'

* General Debugging:

 `   . Show R Traceback                     . `ess-show-R-traceback'
 e   . Toggle error action (repeat to cycle). `ess-dbg-toggle-error-action'
 d   . Flag for debugging                   . `ess-dbg-flag-for-debugging'
 u   . Unflag for debugging                 . `ess-dbg-unflag-for-debugging'
 w   . Watch window                         . `ess-watch'

* Navigation to errors (emacs general functionality):

 C-x `, M-g n   . `next-error'
 M-g p          . `previous-error'

* Interactive Debugging:

 c   . Continue                  . `ess-dbg-command-c'
 n   . Next step                 . `ess-dbg-command-n'
 p   . Previous step             . `previous-error'
 q   . Quit debugging            . `ess-dbg-command-Q'
 1..9. Enter recover frame       . `ess-dbg-command-digit'
 0   . Exit recover (also q,n,c) . `ess-dbg-command-digit'

* Input Ring:

 i   . Goto input event marker forwards     . `ess-dbg-goto-input-event-marker'
 I   . Goto input event marker backwards    . `ess-dbg-goto-input-event-marker'

* Misc:
 s   . Source current file  . `ess-tracebug-source-current-file'
 ?   . Show this help       . `ess-tracebug-show-help'
于 2012-05-03T14:16:27.333 回答
4

有调试包,结合 mtrace 功能。还有一个新的 Eclipse 调试模块(正如 Dirk 在他的回答中提到的那样),将来可能会在 Rstudio 中添加类似的功能。一旦这些到位,问题将是如何让他们调试相关功能。这基本上意味着获取您感兴趣的所有功能的列表并跟踪它们。

ps:你可以看看这个 - http://www.r-bloggers.com/what-does-this-package-look-like/

于 2012-05-03T14:15:45.180 回答
4

我认为 R 指令会让你做你想做的事debugbrowser

于 2012-05-03T14:02:49.397 回答
1

Revolution R 中的 IDE 包括方便的可视化调试功能,类似于 MS Visual Studio 中的功能。尽管该软件是专有的并且需要支付许可费用,但您始终可以下载免费的学术版本。

http://www.revolutionanalytics.com/downloads/free-academic.php

于 2012-10-24T16:07:25.857 回答