问题标签 [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.
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)或者“标量分配”是什么意思,这难道不应该命中吗?
debugging - 我可以在 Ruby 中发生异常时动态放置断点吗?
我希望能够在 ruby-debug 中设置条件断点,条件是“抛出异常”。
我想要的是每当在该行上引发异常时都能够在断点上着陆(如果此处说明了错误选项,这是 MATLAB 的超方便的 dbstop )。
提前致谢。
matlab - 有条件的 dbstop 来定位变量变为负数的位置
我意识到这已经被提出过;但我希望有人可以为我澄清一些事情。在我的模型运行期间的某个时刻,我的一个变量被计算为负数。但是,这是一个错误(它们只能是正数)。所以我需要找到发生这种情况的地方,跟踪产生错误源的地方。
该模型太大而无法手动执行此操作,因此我希望以某种形式使用 dbstop。通过阅读这里的帖子,我意识到这不仅仅是给出条件的情况(如果 var<0,则在 test.m 中的 dbstop);所以我希望使用条件 if 语句来显示错误(disp 'error'),我可以使用它: dbstop in test.m if error。然而; 我得到的是:'断点表达式'错误'导致错误。错误是 Error using==>error Too many output arguments。' 当我的变量变为负数时,谁能建议我隔离的方法?
matlab - Matlab 自定义 dbstop 处理程序
我知道人们已经讨论过如何制作自定义dbstop
条件,(例如在 MATLAB 中的 Customize dbstop 中)
但是,我使用的是正常的dbstop if error
,我想(从另一个进程)知道 matlab 进程当前是处于调试状态(K>>
)还是正常运行。
如果我有一个自定义dbstop
处理函数,我可以做到这一点。但我仍然希望能够像正常的dbstop if error
.
如果还有其他可能从外部(>>
vs K>>
)检测 matlab 的状态,我也很高兴!
让我知道任何想法;)
matlab - 如果 matlab 处于调试模式,则接收邮件
我想在 Matlab 处于调试模式时收到一封电子邮件,所以我尝试了以下方法:
函数是:
t 不存在,因此发生错误并且 Matlab 进入调试模式(如果错误处于活动状态,则 dbstop)。feature('IsDebugMode') 等于 1,但我没有收到邮件。
这是我第一次在 Matlab 中处理对象,所以我很确定代码在某种程度上是错误的。也许有人可以帮助我?提前致谢