1

Existe-t-il un moyen de déboguer du code sur Visual C++ 2008 Express, tel que je peux observer une variable pour certaines valeurs et, lorsqu'il prend cette valeur, pour rompre?Débogage conditionnel sur Visual C++ 2008 Express

Par exemple, je veux rompre lorsque x devient 5. Dans gdb je définirais un point d'arrêt puis une condition que x == 5. Comment puis-je le faire (si possible) sur Visual C++ 2008 Express?

Répondre

3

Bien que construit dans le soutien est manquant dans les éditions express, il existe une autre façon de contourner.

J'ai trouvé ceci sur une autre réponse pour une question similaire.

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

L'exemple montre que si la propriété Name correspond à "Book", un point d'arrêt se produit.

Voici la question initiale:

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

+1

Quelle solution de contournement terrible. Mais bonne réponse, merci, mais d'accord, je n'ai pas le bon outil, je vais utiliser ce que j'ai. –

+0

Réfléchir encore, ce n'est pas si terrible, je peux trouver de mauvaises façons d'utiliser =) –

+0

Ouais c'est un peu sournois mais en lisant la réponse originale, il mentionne que cela prend moins de ressources à faire que le point de rupture conditionnel dans les éditions non explicites, c'est dommage qu'ils ne l'aient pas inclus de toute façon vraiment. –

2

Cela n'est pas possible dans les versions Express de Visual Studio. Mais c'est possible dans les versions complètes.

0

Il semble qu'il est possible de le faire même express, au moins ici, il a travaillé. Après avoir marqué le point d'arrêt, je droit cliqué sur sa marque, et définir une « condition » (il ne pouvait pas être plus facile que)

!Setting a condition

Vous pouvez alors écrire une expression qui évalue à true. Mon collègue, qui vient de me le montrer, a dit qu'ils avaient des problèmes pour comparer les chaînes, mais c'est assez simple pour les comparaisons simples en utilisant les ints.

!Condition window

Cependant, comme indiqué dans l'autre réponse, ce n'est pas si rapide que de taper le code de rupture directement.