2012-05-03 9 views

Odpowiedz

4

Myślę, że instrukcje R debug i browser pozwolą ci robić to, co chcesz.

4

Istnieje pakiet debugowania połączony z funkcją mtrace. Istnieje również nowy moduł debugowania dla Eclipse (jak wspomina Dirk w swojej odpowiedzi), a podobne możliwości mogą zostać dodane do Rstudio w przyszłości. Po ich wprowadzeniu pojawi się pytanie, w jaki sposób można je debugować odpowiednie funkcje. Co w gruncie rzeczy oznacza uzyskanie listy wszystkich interesujących cię funkcji i ich śledzenie.

p.s: może trzeba spojrzeć na to - http://www.r-bloggers.com/what-does-this-package-look-like/

+1

+1 dla pakietu 'debug' –

5

dwóch poprzednich odpowiedzi już mówiłem co baza R i dodatek na opakowaniach może zrobić.

miarę IDE iść, masz dwie możliwości:

  1. StatET plugin for Eclipse ma pewne cechy dla tego (co nie używany).

  2. ESS dla Emacsa, w którym najnowsze wydania ESS mają zintegrowane ess-tracebug, które to również robi. Oto niektóre documentation from when ess-tracebug was still a third-party project i nie jest częścią prawidłowego ESS. Chociaż jestem użytkownikiem ESS, jeszcze tego nie próbowałem.

Oto pomoc dla ESS-tracebug dać posmak tego, co może zrobić:

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' 
Powiązane problemy