是否有一种方法可以将一个手表放在变量上,并且只在该值发生变化时才有Visual Studio中断?
这将使找到棘手的州问题变得容易得多。
这能做到吗?
断点条件仍然需要断点设置,我宁愿设置一个监视表,让Visual Studio在状态更改时设置断点。
是否有一种方法可以将一个手表放在变量上,并且只在该值发生变化时才有Visual Studio中断?
这将使找到棘手的州问题变得容易得多。
这能做到吗?
断点条件仍然需要断点设置,我宁愿设置一个监视表,让Visual Studio在状态更改时设置断点。
当前回答
你也可以选择在代码中显式中断:
// Assuming C#
if (condition)
{
System.Diagnostics.Debugger.Break();
}
从MSDN:
调试器。打破: 如果没有附加调试器,则会附加用户 问他们是否要附上 调试器。如果是,则调试器处于 开始了。如果附加了调试器, 调试器使用用户发出信号 断点事件和调试器 暂停进程的执行 就好像是调试器断点 打击。
不过,这只是一个备用方案。在Visual Studio中设置条件断点(如其他评论中所述)是更好的选择。
其他回答
右键单击断点对我来说很好(尽管我主要是将它用于特定变量值上的条件断点。即使中断涉及线程名称的表达式,如果您试图发现线程问题,这也是非常有用的)。
您可能可以巧妙地使用DebugBreak()函数。
将变量更改为属性,并在set方法中添加断点。例子:
private bool m_Var = false;
protected bool var
{
get {
return m_var;
}
set {
m_var = value;
}
}
正如彼得·莫滕森所写:
在Visual Studio 2005菜单中: 调试->新断点->新数据断点 输入:myvariable
附加信息:
显然,系统必须知道要监视内存中的哪个地址。 所以 -设置一个正常断点初始化myVariable(或myClass.m_Variable) -运行系统并等待它在该断点停止。 -现在菜单项已启用,您可以通过输入&myVariable来查看变量, 或实例,输入&myClass.m_Variable。现在地址已经定义好了。
抱歉,我解释了一个已经给出的解。但我不能对此发表评论,关于这一点已经有了一些评论。
我记得你用Visual Basic 6.0描述它的方式。在Visual Studio中,到目前为止我发现的唯一方法是指定断点条件。