R Language                
            felsökning
        
        
            
    Sök…
Med hjälp av webbläsare
 browser kan användas som en brytpunkt: körning av kod kommer att pausa vid den punkt den kallas. Sedan kan användaren sedan inspektera variabla värden, köra godtycklig R-kod och gå igenom koden rad för rad. 
 När browser() har träffats i koden startar den interaktiva tolken. Varje R-kod kan köras som normalt, och dessutom finns följande kommandon, 
| Kommando | Menande | 
|---|---|
| c | Avsluta webbläsaren och fortsätt programmet | 
| f | Slutför aktuell slinga eller funktion \ | 
| n | Steg över (utvärdera nästa uttalande, stega över funktionssamtal) | 
| s | Steg in (utvärdera nästa uttalande, gå in i funktionssamtal) | 
| var | Skriv ut stapelspår | 
| r | Anropa "återuppta" omstart | 
| Q | Avsluta webbläsaren och avsluta | 
Vi kan till exempel ha ett skript som,
toDebug <- function() {
    a = 1
    b = 2
    
    browser()
    
    for(i in 1:100) {
        a = a * b
    }
}
toDebug()
När vi kör ovanstående skript ser vi ursprungligen något som,
Called from: toDebug
Browser[1]>
Vi kunde då interagera med prompten som så,
Called from: toDebug
Browser[1]> a
[1] 1
Browser[1]> b
[1] 2
Browse[1]> n
debug at #7: for (i in 1:100) {
    a = a * b
}
Browse[2]> n
debug at #8: a = a * b
Browse[2]> a
[1] 1
Browse[2]> n
debug at #8: a = a * b
Browse[2]> a
[1] 2
Browse[2]> Q
 browser() kan också användas som en del av en funktionell kedja, så: 
mtcars %>% group_by(cyl) %>% {browser()}
Med felsökning
 Du kan ställa in valfri funktion för felsökning med debug . 
debug(mean)
mean(1:3)
 Alla efterföljande samtal till funktionen kommer till felsökningsläge. Du kan inaktivera detta beteende med undebug . 
undebug(mean)
mean(1:3)
 Om du vet att du bara vill gå in i felsökningsläget för en funktion en gång ska du överväga att använda debugonce . 
debugonce(mean)
mean(1:3)
mean(1:3)