是否有一种方法可以将一个手表放在变量上,并且只在该值发生变化时才有Visual Studio中断?
这将使找到棘手的州问题变得容易得多。
这能做到吗?
断点条件仍然需要断点设置,我宁愿设置一个监视表,让Visual Studio在状态更改时设置断点。
是否有一种方法可以将一个手表放在变量上,并且只在该值发生变化时才有Visual Studio中断?
这将使找到棘手的州问题变得容易得多。
这能做到吗?
断点条件仍然需要断点设置,我宁愿设置一个监视表,让Visual Studio在状态更改时设置断点。
当前回答
您可能可以巧妙地使用DebugBreak()函数。
其他回答
您可能可以巧妙地使用DebugBreak()函数。
2019年更新:
现在,针对. net Core 3.0或更高版本的Visual Studio 2019预览2正式支持这一点。当然,您可能不得不考虑使用预览版IDE的潜在风险。我想在不久的将来,这将包含在官方的Visual Studio中。
https://blogs.msdn.microsoft.com/visualstudio/2019/02/12/break-when-value-changes-data-breakpoints-for-net-core-in-visual-studio-2019/
幸运的是,数据断点不再是c++独有的,因为它们现在在Visual Studio 2019预览2中可用于.NET Core(3.0或更高版本)!
您可以选择重载变量的=操作符,并且可以在特定条件下将断点放在重载函数内。
可以在非托管代码中使用内存观察点。但不确定这些在托管代码中是否可用。
正如彼得·莫滕森所写:
在Visual Studio 2005菜单中: 调试->新断点->新数据断点 输入:myvariable
附加信息:
显然,系统必须知道要监视内存中的哪个地址。 所以 -设置一个正常断点初始化myVariable(或myClass.m_Variable) -运行系统并等待它在该断点停止。 -现在菜单项已启用,您可以通过输入&myVariable来查看变量, 或实例,输入&myClass.m_Variable。现在地址已经定义好了。
抱歉,我解释了一个已经给出的解。但我不能对此发表评论,关于这一点已经有了一些评论。