如何使用八度调试器?

时间:2013-12-03 10:38:41

标签: debugging octave

所以我试图使用八度调试器来检测零除零的位置。为此,使用“debug_on_warning()”似乎是合乎逻辑的。但是我只是不明白如何使用这个函数调用。 我的意思是我应该把它放在脚本的某个地方吗?但那么调试器将如何启动? 一个例子会很棒!

2 个答案:

答案 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

备注

我的回答恰好适合问题的标题。这不是该问题的确切答案。但是我希望它可以帮助那些在寻找常规八度音阶调试提示时偶然发现该问题的人。所以,请不要对我投反对票。