1

Is there a way to debug code on Visual C++ 2008 Express, such as I can watch a variable for certain value(s) and, when it assumes this value, to break?

For instance, I want to break when xbecomes 5. In gdb I would set a breakpoint then a condition that x == 5. How can I do it (if possible) on Visual C++ 2008 Express?

Luís Guilherme
  • 2,620
  • 6
  • 26
  • 41

4 Answers4

3

Although built in support for it is missing in the express editions, there is another way around it.

I found this on another answer for a similar question.

#if DEBUG
if( node.Name == "Book" )
    System.Diagnostics.Debugger.Break();
#endif

The example shows that if the Name property matches "Book", a breakpoint occurs.

Here is the original question:

How Do I: Create a Breakpoint Using Conditions? [C# Express]

Community
  • 1
  • 1
Jamie Keeling
  • 9,806
  • 17
  • 65
  • 102
  • 1
    What an awful workaround. But nice answer, thanks, But ok, I haven't got the proper tool, I'll use what I've got. – Luís Guilherme Jan 08 '10 at 16:48
  • Thinking again, it's not that awful, I can find evil ways of using this =) – Luís Guilherme Jan 08 '10 at 16:48
  • Yeah it's a bit underhanded but reading the original answer he does mention that it takes less resources to do than the actual conditional breakpoint in non express editions, it's a shame they didn't include it anyway really. – Jamie Keeling Jan 08 '10 at 16:54
  • -1: the feature is either missing nor the macro is DEBUG but _DEBUG. Right Click on the break point opens context menu, where you may set conditions. – Valentin H Dec 29 '12 at 16:21
  • @ValentinHeinitz Can you clarify your comment and the reason for -1? Clearly it exists because its been an accepted answer, is documented as existing and has been the solution for another question. – Jamie Keeling Dec 30 '12 at 18:26
2

This is not possible in the Express versions of Visual Studio. But it is possible in the full versions.

Matt Greer
  • 60,826
  • 17
  • 123
  • 123
0

It seems it's possible to do this even in express, at least here it worked. After marking the breakpoint, I right-clicked on its mark, and set a "Condition" (it couldn't be easier than that)

!Setting a condition

Then you can write an expression which evaluates to true. My colleague who has just showed this to me said they have some issues using this for comparing strings, but it's pretty neat for simple comparisons using ints.

!Condition window

However, as said in the other answer, this is not so fast as typing the break code directly.

Luís Guilherme
  • 2,620
  • 6
  • 26
  • 41
-2

Lucky! Visual Studio 2010 Express of C/C++ does support it. See How to: Specify a Breakpoint Condition.

I've tried it.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Crane
  • 1