debugging MATLAB中的数据断点

pvcm50d1  于 2023-04-30  发布在  Matlab
关注(0)|答案(1)|浏览(200)

bounty还有4天到期。回答此问题可获得+100声望奖励。Cris Luengo想要引起更多关注这个问题:现有的答案没有回答这个问题:如何在特定变量更改值时中断执行?

在MATLAB中,是否可以像在Visual Studio中一样在特定变量上设置数据断点?我在网上和手册上都找不到任何东西。
要明确的是:当该变量在代码中的任何位置(而不仅仅是在一个特定行上)改变值时,数据断点停止执行并进入调试模式。

ttcibm8c

ttcibm8c1#

更新日期:2023年4月28日
如果你的变量是一个类的属性,你可以将SetAccess更改为private(或protected),然后通过类方法更新它,然后你可以使用条件断点捕获它的变化。
我很欣赏这个建议只适用于类,是一个重大的变化,一个大的代码库,但它的唯一傻瓜证明的方式,我知道捕捉时,一个变量的变化。
仅供参考:我已经在一个庞大而复杂的代码库上完成了这一点,幸运的是,整个类变量名称始终是一致的,我们有足够的测试用例来捕获设置属性的所有位置。
它执行所谓的条件断点。
您可以在命令行设置它们,但通过编辑器交互式地将它们放入要容易得多(右键单击下一行号并选择“设置条件断点”)
命令行:

dbstop in FUNCTION at LINENO if 'EXPRESSION'

相关问题