Dukungan untuk ini akan datang di R 2.10 dan yang lebih baru. Duncan Murdoch baru saja memposting ke r-devel pada 10 Sep 2009 tentang findLineNum dan setBreapoint :
Saya baru saja menambahkan beberapa fungsi ke R-devel untuk membantu debugging. findLineNum()menemukan baris mana yang fungsinya sesuai dengan baris kode sumber tertentu; setBreakpoint()mengambil output dari findLineNum, dan memanggil trace()untuk menyetel breakpoint di sana.
Ini bergantung pada memiliki informasi debug referensi sumber dalam kode. Ini adalah default untuk kode yang dibaca source(), tetapi tidak untuk paket. Untuk mendapatkan referensi sumber dalam kode paket, setel variabel lingkungan R_KEEP_PKG_SOURCE=yes, atau di dalam R, setel
options(keep.source.pkgs=TRUE), lalu instal paket dari kode sumber. Baca ?findLineNumdetailnya tentang bagaimana memberitahukannya untuk mencari di dalam paket, daripada membatasi pencarian ke lingkungan global.
Sebagai contoh,
x <- " f <- function(a, b) {
if (a > b) {
a
} else {
b
}
}"
eval(parse(text=x)) # Normally you'd use source() to read a file...
findLineNum("<text>#3") # <text> is a dummy filename used by
parse(text=)
Ini akan mencetak
f step 2,3,2 in <environment: R_GlobalEnv>
dan Anda bisa menggunakan
setBreakpoint("<text>#3")
untuk mengatur breakpoint di sana.
Masih ada beberapa batasan (dan mungkin bug) dalam kode; Aku akan memperbaikinya