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