Für Debug-Zwecke möchte ich eine Zeilennummer (und einen Funktionsnamen) des Ortes drucken, von dem aus die aktuelle Funktion aufgerufen wurde. Wie bekomme ich das in R?
Ich habe eine Lösung zum Abrufen des Quelldateinamens gesehen. Aber wie erhalte ich die Zeilennummer und den Funktionsnamen?]
BEARBEITEN: Ich habe herausgefunden, wie ich diese Daten traceback()
in irgendeiner Form abrufen kann. Traceback kann sie ausdrucken, bin mir aber nicht sicher, wie ich die Informationen daraus entschlüsseln soll:
f <- function () {
traceback(x = 3, max.lines = 1)
}
g <- function()
{
f()
}
x <- g()
source("file.R") # file with this code
# 5: g() at file.R#20
# 4: eval(ei, envir)
# 3: eval(ei, envir)
# 2: withVisible(eval(ei, envir))
# 1: source("file.R")
str(x[[1]])
# chr "g()"
# - attr(*, "srcref")= 'srcref' int [1:8] 20 1 20 8 1 8 20 20
# ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x0000000013a31700>
.traceback()
.