RStudio中‘Rerun with Debug’无法调试环境对象的问题咨询
RStudio "Rerun with Debug" 调试问题解析
这个按钮不是只能回溯现场,只是默认行为会停在错误触发的最底层栈帧(也就是stop(...)函数内部)——此时当前上下文属于stop(),自然访问不到上层函数的临时变量,执行n/next也会直接退出。
要实现自主排查,你可以这么做:
- 切换栈帧:在右侧traceback面板里,点击你自己编写的函数对应的栈帧(比如调用栈里靠上的层级),切换到该上下文后,就能查看和操作该层的临时变量,也能正常使用
n(下一步)、c(继续)等调试命令。 - 提前设断点:在你怀疑有问题的函数代码行号左侧点击添加断点,或者在函数内部插入
browser()语句,这样用"Rerun with Debug"启动调试时,会直接停在断点处,方便逐步执行排查。 - 调整错误调试选项:在控制台执行
options(error = recover),之后报错会弹出交互式选择界面,输入对应栈帧的编号就能进入该层调试,比点击traceback更灵活。
内容的提问来源于stack exchange,提问作者cloudscomputes
相关产品推荐
相关产品推荐

