【发布时间】:2013-12-03 10:38:40
【问题描述】:
所以我正在尝试使用 octave 调试器来检测除零发生的位置。为此,使用“debug_on_warning ()”似乎是合乎逻辑的。但是我只是不明白如何使用这个函数调用。 我的意思是我应该把它放在脚本中的某个地方吗?但是调试器将如何启动? 举个例子就好了!
【问题讨论】:
所以我正在尝试使用 octave 调试器来检测除零发生的位置。为此,使用“debug_on_warning ()”似乎是合乎逻辑的。但是我只是不明白如何使用这个函数调用。 我的意思是我应该把它放在脚本中的某个地方吗?但是调试器将如何启动? 举个例子就好了!
【问题讨论】:
查看 Octave 手册的Debugging section。
对于您的情况,您应该将 debug_on_warning (1) 放在脚本的顶部,以便在警告发生时停止并让您进入调试模式。然后输入dbwhere 找出您的位置。
另一种方法,这就是我这样做的方式,将命令 keyboard 留在您认为可能存在问题的某些区域。然后使用dbstep 逐行评估您的脚本。
【讨论】:
八度设置断点的解决方案
在文件 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
备注
我的回答正好符合问题的标题。这不是这个问题的确切答案。但我希望它可以帮助那些在寻找一般八度调试提示时偶然发现这个问题的人。所以请不要投票给我。
【讨论】: