如何解决调试时如何“运行直到此变量更改”?
| 在调试C#时,我经常想知道变量的值何时更改,然后调查程序的状态。 目前,我这样做是这样的: 监视列出有问题的变量。 实际发送垃圾邮件F10(“跳过”的快捷方式),直到看到值更改为止。 但是,所需的F10数量很烦人。 我想这肯定是自动化的。但是我在Microsoft Visual C#Express中找不到此功能,这让我感到惊讶。毕竟,监视列表会自动以亮红色突出显示已更改的值。 我想念什么吗?解决方法
Express版的简单技巧:
private string myValue;
public string MyValue
{
set
{
if (this.myValue != value) Debugger.Break();
this.myValue = value;
}
}
, 条件断点是您要执行的操作,但似乎在Visual Studio Express中不可用。
在Visual Studio(非Express)中,其工作方式是创建一个条件断点,该断点的表达式等于您的监视值,并以“已更改”作为断点条件。
, 这是我在Visual Studio中执行的方法。通过按F9或单击最左边的空白来设置断点。然后右键单击出现的红点,然后选择“条件”命令。还有其他选择。
但是,Visual Studio Express中可能不支持此功能。
, 您可以使用条件断点
看到这个
, 您可以编写一个if语句来检查更改,并在该if语句中产生一个断点,因此它最初会中断,然后单击resume,它会一直持续到到达此断点为止。
, 根据某些运行时条件使用Debugger.Break,或右键单击某个断点,然后选择条件断点->已更改
编辑:不知道这在快递
,
将断点设置在您希望代码暂停的位置
打开“断点”窗口(调试-> Windows->断点)
右键单击断点,然后选择“条件...”。
将条件设置为变量名称,然后选择“已更改”单选按钮。
单击确定,然后按照常规进行调试:)
, 如果要在某个断点处捕获变量更改,而不是准确捕获更改位置,则设置断点,右键单击该断点,然后选择\“ Condition \”。假设您的变量名是X,当前值是A。在条件字段中输入\“ X!= A \”。
现在,仅当X更改为A以外的其他值时,才会命中断点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。