debugging 为什么断点在Matlab编辑器窗口中不可见?

7jmck4yq  于 2022-12-13  发布在  Matlab
关注(0)|答案(2)|浏览(197)

最近我在Matlab的调试模式中遇到了以下奇怪的问题。我通常频繁地使用调试器--通常是在编辑器窗口中的单独行上设置断点,导致正常的红色圆圈图像表示行上有断点。
在过去的几天里,我一直无法使这些断点可见。我单击一条线,红色圆圈部分显示(当我按住鼠标单击时)然后消失。请注意,断点是活动的,可以通过dbstatus或简单地运行代码来检查。当执行在适当的行处中断并且程序暂停时,我无法通过视觉确认它是否在该行暂停(即编辑器窗口中典型的箭头指针)。一个有趣的变化是,如果我对代码进行了未保存的更改,我可以看到断点,但是一旦我保存(正常情况下),它们就消失了,只要文件没有未保存的更改,我就看不到它们。
在代码中没有clear或clear all的用法,但我想再次强调断点不是不活动的,它们只是不可见的。使用最简单的单行函数可以重现错误。

svgewumm

svgewumm1#

我也遇到过同样的错误,我不记得是在哪个MATLAB版本上出现的,但它只在使用64位版本时出现,而不是x86位版本。最新版本的MATLAB 64位没有同样的问题。
另一种发生这种情况的方式是,如果你在MATLAB中的路径上有一些相对路径,而不是例如

addpath('C:\topdir\subdir1\..\subdir2');

addpath('C:\topdir\subdir2');

See this helpfull post on the subject

mlnl4t2r

mlnl4t2r2#

我也有同样的问题。
我复制了没有显示断点的函数的内容,并将其传递给一个新函数。
删除旧函数并将同名的新函数粘贴到同一目录中。
这解决了这个问题。我的断点现在和以前一样可见。

相关问题