Visual studio visualc上的条件调试&x2B+;2008年快车 是否有一种在VisualC++ 2008 Express上调试代码的方法,例如,我可以观察某个变量的值,当它假定这个值时,就可以中断< < /P>

Visual studio visualc上的条件调试&x2B+;2008年快车 是否有一种在VisualC++ 2008 Express上调试代码的方法,例如,我可以观察某个变量的值,当它假定这个值时,就可以中断< < /P>,visual-studio,debugging,breakpoints,visual-c++-2008-express,conditional-breakpoint,Visual Studio,Debugging,Breakpoints,Visual C++ 2008 Express,Conditional Breakpoint,例如,我想在x变为5时中断。在gdb中,我将设置一个断点,然后设置一个x==5的条件。如何在Visual C++ 2008 Express? < P>中执行(如果可能的话),这在VisualStudio的Express版本中是不可能的。但是它在完整版本中是可能的。尽管express版本中缺少对它的内置支持,但有另一种解决方法 我在一个类似问题的另一个答案上发现了这一点 #if DEBUG if( node.Name == "Book" ) System.Diagnostics.Debug

例如,我想在
x
变为
5
时中断。在gdb中,我将设置一个断点,然后设置一个
x==5
的条件。如何在Visual C++ 2008 Express?

< P>中执行(如果可能的话),这在VisualStudio的Express版本中是不可能的。但是它在完整版本中是可能的。

尽管express版本中缺少对它的内置支持,但有另一种解决方法

我在一个类似问题的另一个答案上发现了这一点

#if DEBUG
if( node.Name == "Book" )
    System.Diagnostics.Debugger.Break();
#endif
该示例显示,如果Name属性与“Book”匹配,则会出现断点

原来的问题是:


即使在express中,似乎也可以做到这一点,至少在这里它起到了作用。在标记断点之后,我右键单击了它的标记,并设置了一个“条件”(再简单不过了)

然后您可以编写一个计算结果为true的表达式。我的同事刚刚向我展示了这一点,他说他们在使用它来比较字符串时遇到了一些问题,但对于使用int进行简单的比较来说,它非常简洁

然而,正如在另一个答案中所说,这并没有直接键入中断码那么快。

幸运!C/C++的Visual Studio 2010 Express确实支持它。看


我试过了。

这是一个多么糟糕的解决办法。但是回答很好,谢谢,但是好吧,我没有合适的工具,我会用我所拥有的。再想想,这并不可怕,我可以找到使用这个的邪恶方式=)是的,这有点卑鄙,但阅读原始答案时,他确实提到,与非express版本中的实际条件断点相比,它需要更少的资源,很遗憾,他们没有包括它真的。-1:要么功能缺失,要么宏是DEBUG,但是_DEBUG。右键单击断点打开关联菜单,您可以在其中设置条件。@ValentinHeinitz您能澄清您的评论和-1的原因吗?显然,它的存在是因为它是一个公认的答案,被记录为存在,并且是另一个问题的解决方案。