2009-06-25 9 views
11

J'écris une classe en C++ que je ne peux pas déboguer en utilisant F5. Le code sera exécuté à partir d'un autre "service" qui l'appellera. Dans le passé, j'ai utilisé __debugbreak() et quand j'ai eu une fenêtre me disant qu'une exception a été levée sélectionnée pour le déboguer.DebugBreak ne se casse pas

Récemment j'ai mis à jour à Windows 7 et il a continué à travailler pendant un moment. Aujourd'hui, quand j'ai essayé de déboguer un morceau de mon code au lieu de montrer le dialogue régulier qui m'indique que VSTestHost a cessé de fonctionner et qui m'a permis de déboguer l'application, j'ai un autre dialogue suggérant que j'envoie les données à Microsoft pour l'analyse.

Est-ce que quelqu'un sait comment je peux résoudre ce problème afin que je puisse déboguer mon code?

Répondre

21

Enfin, j'ai trouvé la cause du problème. Il est une cause Vista/Windows 7:

  1. Ouvrir le contrôle du centre d'action
  2. Aller Centre d'action paramètres
  3. Goto Problème Paramètres des rapports
  4. Choisissez « Chaque fois qu'un problème se produit, demandez-moi avant de vérifier la solution "

Bien que ce soit plus de la solution informatique/question, j'ai été en proie à ce problème toute la journée et je voulais partager la solution avec d'autres développeurs qui rencontrent ce pro blem.

+0

Il a définitivement cessé de générer des rapports sur Win 8, mais il ne propose pas de démarrer le débogueur non plus. Il dit simplement Erreur 1067: Le processus s'est terminé de façon inattendue. – mlt

0

Vous pouvez essayer de déboguer> attacher pour traiter.

+1

Parfois, cela peut poser problème car, au moment où vous vous connectez au processus, votre code a déjà dépassé ce point. Dans ces cas, je trouve utile de mettre un sommeil (10000) juste avant le point que je veux rompre. Cela me donne juste assez de temps pour m'attacher au processus. – Ferruccio

+0

Je ne cherche pas un autre moyen de déboguer - Je veux réparer le courant pourquoi je débogue mon code –

1

Dans ce cas ...

http://community.codesmithtools.com/blogs/blake/archive/2009/06/03/tips-amp-tricks-debugging-codesmith-on-microsoft-windows-7.aspx

Voici la liste rapide de ce que vous avez besoin à faire pour activer le débogage sur une machine Microsoft Windows 7:

Mise à jour le Just-In -Dime réglage du débogueur DbgJITDebugLaunchSetting. Le paramètre se trouve dans le registre à l'adresse [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework].
Définissez la valeur de DbgJITDebugLaunchSetting à 2. Si vous utilisez un système d'exploitation 64 bits, vous devez également définir la même clé (DbgJITDebugLaunchSetting) dans ce dossier [HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework] à 2. Si vous rencontrer des problèmes essayez d'exécuter CodeSmith Studio et Visual Studio en tant qu'administrateur. Maintenant, lorsque CodeSmith entre dans un point d'arrêt, vous verrez quelque chose comme ceci:

+0

Bonne trouvaille mais j'ai réussi à résoudre le problème sans changer la valeur des clés à 2 (par défaut son 16) –