2015-03-12 10 views
14

Utilizzo RStudio da anni, e questo non mi è mai successo prima. Per qualche ragione, ogni volta che una funzione genera un errore, RStudio entra in modalità di debug (non lo voglio). Anche dopo aver usato undebug() su una singola funzione.RStudio entra in modalità di debug per ogni errore di funzione - come posso fermarlo?

> undebug(http.get) 
Warning message: 
In undebug(fun) : argument is not being debugged 
> x = http.get(country = 'KE') 

http --timeout=60 get "http://[email protected]/observation?country=KE" > freshobs.json </dev/null 
Error in fromJSON(file = "freshobs.json") : unexpected character 'O' 

Error in el[["product_name"]] : subscript out of bounds 
Called from: grepl(el[["product_name"]], pattern = "json:", fixed = T) 
Browse[1]> Q 

Qualsiasi funzione che uso che rompe provoca la modalità di debug per cominciare - che è abbastanza fastidioso perché apre un visualizzatore sorgente e ti porta lontano dal codice. Qualcuno sa come fermare questa funzionalità? Ciò accade quando la casella di controllo "Usa modalità di debug solo quando il mio codice contiene errori" in Preferenze è e non è selezionata.

Grazie!

risposta

26

Ho provato a risolvere questo problema inserendo options(error = NULL) nel mio .Rprofile, ma questo non ha funzionato.

Cosa ha funzionato per andare a "Debug" -> "On Error" menu and select "Message only". Questo è effettivamente lo stesso dell'impostazione di options(error = NULL), ma è persistente durante i riavvii.

RStudio menu

1

Beh, penso di averlo risolto. Nessuna idea di come questo è accaduto, ma in Rstudio, in esecuzione

> options()$error # returned: 
(function() 
{ 
    .rs.breakOnError(FALSE) 
})() 

Dove, come nella stessa cosa restituito NULL durante l'esecuzione R dal terminale. -> Ho eseguito:

options(error=NULL) 

Questo risolve il problema, ma solo temporaneamente. Quando esco e riavvio Rstudio, il codice deve essere eseguito di nuovo. Aggiornerà quando trovo un modo per cambiare il predefinito ... Saluti.

+0

non credo che è il default in rstudio, almeno non per me . hai qualcosa nel tuo profilo r – rawr

+1

Non penso sia il default neanche (visto che questo problema è apparso solo ora) - in qualche modo è stato cambiato. –

+0

È possibile definire 'options (error = stop)'. 'options (error = recover)' può anche essere utile. –