所以我试图使用八度调试器来检测零除零的位置。为此,使用“debug_on_warning()”似乎是合乎逻辑的。但是我只是不明白如何使用这个函数调用。 我的意思是我应该把它放在脚本的某个地方吗?但那么调试器将如何启动? 一个例子会很棒!
答案 0 :(得分:6)
查看Octave手册的Debugging section。
对于您的情况,您应该将debug_on_warning (1)
放在脚本的顶部,以便在警告发生时停止并使您进入调试模式。然后输入dbwhere
以找出您的位置。
另一种选择,就是我这样做,将命令keyboard
留在您认为可能出现问题的某些区域。然后使用dbstep
逐行评估您的脚本。
答案 1 :(得分:0)
以八度为单位设置断点的解决方案
在文件myOctaveCode.m的第18行中设置断点
dbstop myOctaveCode 18
通话功能
myOctaveCode
调试器停止
stopped in /.../myOctaveCode.m at line 18
...
现在我可以使用调试器了
debug> who
Variables in the current scope:
...
调用dbstep时,我将跳至下一行
debug> dbstep
文档:https://octave.org/doc/v4.4.1/Debug-Mode.html#Debug-Mode
备注
我的回答恰好适合问题的标题。这不是该问题的确切答案。但是我希望它可以帮助那些在寻找常规八度音阶调试提示时偶然发现该问题的人。所以,请不要对我投反对票。