2012-05-03 23 views

Respuesta

4

Creo que las instrucciones R debug y browser le permitirán hacer lo que quiera.

4

Existe el paquete de depuración, combinado con la función mtrace. También hay un nuevo módulo de depuración para Eclipse (como menciona Dirk en su respuesta), y se podrían agregar capacidades similares a Rstudio en el futuro. Una vez que estén en su lugar, la pregunta sería cómo hacer que depuren las funciones relevantes. Lo que básicamente significaría obtener la lista de todas las funciones que le interesan y rastrearlas.

p.s: es posible que tenga un vistazo a esto - http://www.r-bloggers.com/what-does-this-package-look-like/

+1

+1 para el paquete 'debug' –

5

Las dos respuestas anteriores ya te contaron lo base de R y paquetes adicionales pueden hacer.

Por lo que van los IDE, usted tiene dos opciones:

  1. El StatET plugin for Eclipse tiene algunas características de este (que no he usado).

  2. ESS para Emacs donde las versiones más recientes de ESS han integrado ess-tracebug que también lo hace. Aquí hay algunos documentation from when ess-tracebug was still a third-party project y no parte de ESS propiamente dicho. Aunque soy un usuario de ESS, aún no lo he probado.

Aquí está la ayuda para la ESS-tracebug para dar una idea de lo que puede hacer:

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' 
Cuestiones relacionadas