Fly*_*wat 188 debugging breakpoints conditional-breakpoint visual-studio
有没有办法将监视放在变量上,只有在该值发生变化时Visual Studio才会中断?
这样可以更容易地找到棘手的状态问题.
可以这样做吗?
断点条件仍然需要设置断点,我宁愿设置一个监视器,让Visual Studio在状态更改时设置断点.
ASh*_*lly 127
在Visual Studio 2005菜单中:
调试 - > 新断点 - > 新数据断点
输入:
&myVariable
Run Code Online (Sandbox Code Playgroud)
Mic*_*tta 27
您还可以选择在代码中明确断开:
// Assuming C#
if (condition)
{
System.Diagnostics.Debugger.Break();
}
Run Code Online (Sandbox Code Playgroud)
来自MSDN:
Debugger.Break:如果未附加调试器,则会询问用户是否要附加调试器.如果是,则启动调试器.如果附加了调试器,则使用用户断点事件发出调试器信号,并且调试器暂停执行该进程,就像调试器断点已被命中一样.
不过,这只是一个后悔.如其他注释中所述,在Visual Studio中设置条件断点是更好的选择.
Cra*_*aig 26
真的很老的帖子,但万一有人不知道......
在Visual Studio 2015中,您可以在set
自动实现的属性的访问器上放置断点,并且在更新属性时调试器将中断
public bool IsUpdated
{
get;
set; //set breakpoint on this line
}
Run Code Online (Sandbox Code Playgroud)
更新
另外; @AbdulRaufMujahid在评论中指出,如果自动实现的属性在一行上,你可以将光标定位在get;
or set;
和hit上,F9
并相应地放置一个断点.太好了!
public bool IsUpdated { get; set; }
Run Code Online (Sandbox Code Playgroud)
mom*_*oco 13
想象一下,你有一个名为A的类,声明如下.
class A
{
public:
A();
private:
int m_value;
};
Run Code Online (Sandbox Code Playgroud)
当某人修改"m_value"的值时,您希望程序停止.
转到类定义并在A的构造函数中放置一个断点.
A::A()
{
... // set breakpoint here
}
Run Code Online (Sandbox Code Playgroud)
一旦我们停止了该计划:
调试 - >新断点 - >新数据断点...
地址:&(this-> m_value)
字节数:4(因为int有4个字节)
现在,我们可以恢复该计划.更改值时,调试器将停止.
您可以对继承的类或复合类执行相同的操作.
class B
{
private:
A m_a;
};
Run Code Online (Sandbox Code Playgroud)
地址:&(this-> m_a.m_value)
如果您不知道要检查的变量的字节数,可以使用sizeof运算符.
例如:
// to know the size of the word processor,
// if you want to inspect a pointer.
int wordTam = sizeof (void* );
Run Code Online (Sandbox Code Playgroud)
如果查看"调用堆栈",您可以看到更改变量值的函数.
小智 9
将变量更改为属性并在set方法中添加断点.例:
private bool m_Var = false;
protected bool var
{
get {
return m_var;
}
set {
m_var = value;
}
}
Run Code Online (Sandbox Code Playgroud)
2019年更新:
现在,.Net Core 3.0 或更高版本的 Visual Studio 2019 Preview 2 正式支持此功能。当然,您可能必须考虑使用 IDE 预览版的潜在风险。我想在不久的将来这将包含在官方 Visual Studio 中。
幸运的是,数据断点不再是 C++ 独有的,因为它们现在可用于 Visual Studio 2019 Preview 2 中的 .NET Core(3.0 或更高版本)!
归档时间: |
|
查看次数: |
128678 次 |
最近记录: |