2011-12-12 120 views
8

我是R中使用traceback()option(error=recover)debug(function)的新調試,試圖找到我在R包中發生錯誤的原因。如何在調試R代碼時跳過循環

我正在調試一個大循環函數,我想'退出'到下一個塊的循環。我怎樣才能做到這一點?我知道你可以放置斷點,但我不知道循環是哪裏,哪一步是下一步。我處於唯一的文本環境中,因此調試包的圖形幫助可能無濟於事。

總之,調試時如何退出循環,以及在調試時如何進入調試功能?

也許這已經被回答了,我錯過了它。我看過幾個SO R調試問題,但沒有回答我知道的這個部分。

回答

9

即使您沒有使用GUI,我也確信R的幫助系統能夠正常工作。嘗試輸入?debug,看看會發生什麼。你應該被告知輸入ccont

繼續當前上下文的末尾:如如果在循環內或者在函數的結尾處,則循環結束。

+1

'browser()'也可以幫助您查看變量的值在循環中的任何位置,請參閱'?browser'。 – Gregor

+3

我剛剛意識到,當我按'c'去到腳本的末尾,並且只能到循環的結尾時,'c'會進入當前上下文的末尾。我從一個課程出發「c或cont(繼續執行,沒有單步執行)」,這是誤導我的。謝謝 –