问题标签 [dbstop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1695 浏览

matlab - matlab dbstop if naninf -> recursion limit and crash

我在交互式 MATLAB 控制台中发出以下命令:

我现在有奇怪的行为:MATLAB 似乎分成两个不同的文件,但实际上并没有停止执行。这很慢,因为编辑器会在这两个文件之间反复切换,Ctrl+C 不执行任何操作。输出是:

然后它最终以调试提示停止,并带有一个非常长的(递归)堆栈,例如:

在我尝试调试的真实程序中,我得到了相同的结果,但更糟糕的是,有时我遇到了递归限制错误并中止,有时 MATLAB 完全崩溃了。我真的很想能够使用dbstop if naninf,但这几乎不可能,这让我很难过。有什么建议吗?

在 Linux 上使用 MATLAB 2009b 64 位。

谢谢!

编辑:

我刚刚在 MATLAB 2007b 32 位 Linux 上尝试过:

所以这里 dbstop 如果 naninf 在故意将 inf 分配给变量时似乎没有做任何事情。文档说:

dbstop if naninf 或 dbstop if infnan 当您随后运行的任何 MATLAB 程序文件由于运算符、函数调用或标量赋值产生无限值 (Inf) 或非数字 (NaN) 值时停止执行,将MATLAB 处于调试模式,在遇到 Inf 或 NaN 的行之后立即暂停。

即使我故意将 inf 分配给变量(如上面的 t = foo(2) 或 s = inf)或者“标量分配”是什么意思,这难道不应该命中吗?

0 投票
1 回答
804 浏览

debugging - 我可以在 Ruby 中发生异常时动态放置断点吗?

我希望能够在 ruby​​-debug 中设置条件断点,条件是“抛出异常”。

我想要的是每当在该行上引发异常时都能够在断点上着陆(如果此处说明了错误选项,这是 MATLAB 的超方便的 dbstop )。

提前致谢。

0 投票
1 回答
195 浏览

matlab - 有条件的 dbstop 来定位变量变为负数的位置

我意识到这已经被提出过;但我希望有人可以为我澄清一些事情。在我的模型运行期间的某个时刻,我的一个变量被计算为负数。但是,这是一个错误(它们只能是正数)。所以我需要找到发生这种情况的地方,跟踪产生错误源的地方。

该模型太大而无法手动执行此操作,因此我希望以某种形式使用 dbstop。通过阅读这里的帖子,我意识到这不仅仅是给出条件的情况(如果 var<0,则在 test.m 中的 dbstop);所以我希望使用条件 if 语句来显示错误(disp 'error'),我可以使用它: dbstop in test.m if error。然而; 我得到的是:'断点表达式'错误'导致错误。错误是 Error using==>error Too many output arguments。' 当我的变量变为负数时,谁能建议我隔离的方法?

0 投票
4 回答
395 浏览

matlab - Matlab 自定义 dbstop 处理程序

我知道人们已经讨论过如何制作自定义dbstop条件,(例如在 MATLAB 中的 Customize dbstop 中

但是,我使用的是正常的dbstop if error,我想(从另一个进程)知道 matlab 进程当前是处于调试状态(K>>)还是正常运行。

如果我有一个自定义dbstop处理函数,我可以做到这一点。但我仍然希望能够像正常的dbstop if error.

如果还有其他可能从外部(>>vs K>>)检测 matlab 的状态,我也很高兴!

让我知道任何想法;)

0 投票
1 回答
50 浏览

matlab - 如果 matlab 处于调试模式,则接收邮件

我想在 Matlab 处于调试模式时收到一封电子邮件,所以我尝试了以下方法:

函数是:

t 不存在,因此发生错误并且 Matlab 进入调试模式(如果错误处于活动状态,则 dbstop)。feature('IsDebugMode') 等于 1,但我没有收到邮件。

这是我第一次在 Matlab 中处理对象,所以我很确定代码在某种程度上是错误的。也许有人可以帮助我?提前致谢