web-dev-qa-db-fra.com

Comment arrêter les messages "Just In Time Debugging" bloquant un serveur de construction

Notre buildserver (TeamCity, très recommandé), exécute toute une série de tests sur notre programme fini c ++.

Une fois dans son ensemble, un test provoque le blocage de notre programme, ouvrant souvent une boîte de dialogue VisualStudio qui me propose de déboguer le blocage par JustInTime. La boîte de dialogue empêche le serveur de construction de progresser. Au lieu de la construction marquée comme ayant échoué, elle se bloque. J'ai désactivé la fonctionnalité de débogage Just In Time dans VisualStudio, mais quand elle est désactivée, le message "Impossible de déboguer JustinTime, vous pouvez l'activer dans les options".

Est-ce que quelqu'un connaît un moyen de s'assurer que toute exception non gérée dans un programme n'entraîne aucun dialogue modal?

26
Lucas Meijer

Cet article MSDN explique comment désactiver le débogage Just-In-Time sur un serveur Windows . J'ai inclus la partie pertinente de l'article ci-dessous:

Une fois que Visual Studio est installé sur un serveur, le comportement par défaut lorsqu’il s’agit d’un Non géré. Une exception se produit est d'afficher une boîte de dialogue Exception qui nécessite l'intervention de l'utilisateur pour soit démarrer le débogage Just-In-Time ou ignorer l'exception. Cela peut être indésirable pour opération sans surveillance. Pour configurer le serveur afin qu’il n’affiche plus de boîte de dialogue lorsqu’un fichier Une exception non gérée se produit (comportement par défaut avant l'installation de Visual Studio), utilisez l'éditeur de registre pour supprimer les clés de registre suivantes:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger

Sur un système d'exploitation 64 bits, supprimez également les clés de registre suivantes:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger

36
Emerick Rogul

Supprimez (ou renommez) c:\windows\system32\vsjitdebugger.exe.

J'ai essayé de supprimer les clés de registre et de décocher toutes les cases des options de Visual Studio, mais cela ne fonctionnait pas.

Pour être clair, ma situation n’était pas celle du C++. J'utilisais Micro Focus COBOL pour Visual Studio 2010 et, en utilisant les suggestions du registre et des options de VS, j'ai réussi à supprimer le "Voulez-vous déboguer?" dialogue, mais cela a abouti à un dialogue différent pour bloquer mon processus automatisé:

Débogueur Just-In-Time Visual Studio

Une exception non gérée ('runtime COBOL: erreur détectée') s'est produite dans CASDBC.exe [3564]. Débogage juste à temps cette exception a échoué avec l'erreur suivante: Aucun débogueur installé a le débogage Just-In-Time activé. Dans Visual Studio, Just-In-Time le débogage peut être activé à partir de Outils/Options/Débogage/Juste à temps.

Consultez l'index de la documentation pour «Débogage juste à temps, erreurs» pour Plus d'information.

D'accord

10
feuGene

Dans mon cas, sur le serveur win2012, j'ai essayé:

  • enlever les clés de registre
  • supprimer le fichier exe pour le débogueur jit de c:\windows\system32

et c'est quand même arrivé!

J'ai redémarré, etc., mon site Web était bloqué dans IIS jusqu'à ce que la boîte de dialogue soit confirmée!

Solution finale, qui a fonctionné: Dans le panneau de configuration, dans Programmes: Désinstallé "Microsoft Visual Studion 2010 Shell (Isolé)" Désinstallé, le problème résolu.

(Si SQL Management Studio fonctionne toujours .... je ne sais pas!)

3
Jonesome

Je ne recommanderais pas de modifier/supprimer les regs. Habituellement, le registre est un véritable gâchis.

La solution qui m'aide est assez simple. Je viens d’ajouter le débogueur JIT à Visual Studio. Les étapes sont les suivantes:

  • Ouvrez Windows Control panel

  • Programs

  • Programs and Features 

  • Trouver Visual Studio 2017 

  • Cliquez sur Change. Dans une nouvelle fenêtre ouverte, accédez à l'onglet Individual Components 
  • Cochez la case Just-In-Time debugger 
  • Cliquez sur modify 

 enter image description here

Après le rechargement de VS, l'erreur devrait être corrigée.

0
neberaa