![]() |
1
5
不完全确定用例,但是当遇到问题时,可以调用函数
下面是一个例子,说明如何通过创建一个函数来逐步实现更系统的方法:
下面是一个使用它的虚拟示例:
依我看,这似乎不是最明智的做法。更合理的做法是简单地进入问题发生的函数(即在最低级别),然后向后工作。 我已经在 "favorite debugging trick" . |
![]() |
2
5
我喜欢
|
![]() |
3
3
(我是“mtrace”所在的“debug”包的作者) 如果“子函数”的定义不在“MyFunction”范围内,则可以只对“子函数”进行mtrace操作,而不需要对“MyFunction”进行mtrace操作。如果功能没有“mtrace”的话运行得更快,所以最好只在需要的时候进行mtrace。(但你可能已经知道这些了!) 如果“myfunction”只在“subfunction”中定义,那么可能有助于使用“myfunction”中的条件断点。您需要“mtrace(myfunction)”,然后运行它,当出现调试窗口时,找出在中定义了“myfunction”行。假设是17号线。那么,以下内容应该有效: d(n)>bp(1,f)不再显示MyFunction的窗口 d(n)>bp(18,mtrace(子功能);false) D(n)& gt;() 这应该很清楚它的作用(或者如果你尝试它的话)。 唯一的缺点是:每当您更改“myfunction”的代码时,都需要再次执行此操作;并且,通过“myfunction”本身可能发生的速度减慢正在被跟踪。 您还可以尝试将“debug.sub”参数添加到“myfunction”,默认值为false。在“myfunction”代码中,在“subfunction”定义后立即添加此行: if(debug.sub)mtrace(子函数) 这避免了对mtrace“myfunction”本身的任何需要,但确实要求您能够更改其代码。 |
![]() |
Hard_Course · 用另一列中的值替换行的最后一个非NA条目 5 月前 |
![]() |
Mark R · 使用geom_sf()删除地球仪上不需要的网格线 5 月前 |
![]() |
Joe · 根据对工作日和本周早些时候的日期的了解,找到一个日期 5 月前 |
![]() |
Ben · 统计向量中的单词在字符串中出现的频率 5 月前 |
![]() |
TheCodeNovice · R中符号格式的尾随零和其他问题[重复] 5 月前 |
![]() |
dez93_2000 · 在R管道子功能中引用管道对象的当前状态 6 月前 |
![]() |
Mankka · 如何在Ggplot2中绘制均匀的径向图 6 月前 |