这个问题在这里已经有了答案:
R script line numbers at error?
(6 个回答)
5年前关闭。
我找到了这个 post从一年前开始,我正在使用 R version 2.11.1 (2010-05-31)
,但仍然收到没有行号的错误消息。
有什么解决办法吗?
最佳答案
那里给出的答案仍然有效。从脚本中返回行号并不是那么简单,但 R 可以为您提供更多关于在哪里可以找到错误的信息。
您可以使用错误选项将信息保存在文件中,例如:
options(error = quote({
sink(file="error.txt");
dump.frames();
print(attr(last.dump,"error.message"));
traceback();
sink();
q()}))
如果您在某处有可用的文件名,则可以使用函数 findLineNum()。如果您有错误消息,您可以执行以下操作:
dump.frames()
x <- attr(last.dump,"error.message")
ll <- gsub("Error in (.*) : .*","\\1",x)
lln <- findLineNum(srcfile,ll)
关于debugging - R 脚本行号出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3650444/