Quando il debug una funzione io di solito usoConsigli per il debug "dinamico/interattivo" delle funzioni in R?
library(debug)
mtrace(FunctionName)
FunctionName(...)
e che funziona abbastanza bene per me.
Tuttavia, a volte sto tentando di eseguire il debug di una funzione complessa che non conosco. Nel qual caso, posso scoprire che all'interno di quella funzione c'è un'altra funzione che vorrei "entrare" ("debug") - così da capire meglio come funziona l'intero processo.
Quindi un modo per farlo sarebbe quello di fare:
library(debug)
mtrace(FunctionName)
FunctionName(...)
# when finding a function I want to debug inside the function, run again:
mtrace(FunctionName.SubFunction)
La domanda è - c'è un/modo migliore più intelligente per fare il debug interattivo (come ho descritto) che potrei mancare?
p.s: Sono a conoscenza del fatto che sono state poste varie domande sull'argomento in SO (vedere here). Eppure non sono riuscito a trovare una soluzione/una soluzione simile a quello che ho chiesto qui.
Grazie Shane, Potrei usare il tuo codice con mtrace, che potrebbe essere carino in alcuni casi. Ma in generale, prendo il tuo punto riguardo al debug bottom-up. –
Ciao Shane, ripensandoci. Possiamo estrarre la lista di funzioni da traceback in modo da poter eseguire la funzione solo su di essi? –
Questo è esattamente ciò che fa la mia funzione walk.through. – Shane