Question

Je reçois des plantages aléatoires de mon application c # (Windows 7 / VS2008), et il ne me donne pas une trace habituelle de la pile, mais suggère plutôt de fermer / debug / trouver des fenêtres d'information 7 type de boîte de dialogue. Je suis en cours d'exécution l'application soit sous VS2008 ou autonome - même chose. En cliquant sur « Debug » propose de débogage avec une nouvelle instance de la VS, qui échoue comme « un autre débogueur est déjà attaché à l'application ». Mais le débogueur ci-joint ne me donne pas la chance de voir où il échoue, juste donne quelques indices dans la fenêtre de sortie (ci-dessous). Comment régler ce problème?

Il semble que je dois activer (?) Exceptions de première chance dans le débogueur VS, mais il était difficile de savoir comment .. Je vous remercie de toute aide avec ceci!

Addition - je l'ai trouvé comment activer le débogage des exceptions dans VS2008 (Debug-> exceptions près> vérifié toutes les 5 catégories d'exceptions). Et il me donne toujours exactement le même résultat - accident sans capacité de voir ce qui se passe dans débogueur

.
  

'ps.exe' (géré): Loaded   'C: \ Windows \ assembly \ GAC_MSIL \ System.Deployment \ 2.0.0.0__b03f5f7f11d50a3a \ System.Deployment.dll'   Une première chance exception de type   'System.Deployment.Application.InvalidDeploymentException'   A eu lieu dans System.Deployment.dll   première chance exception de type   'System.Threading.ThreadAbortException'   est produite dans mscorlib.dll Le fil   0x1964 est sorti avec le code 0 (0x0).   Le fil 0x1b24 a quitté avec le code   0 (0x0). Une exception de première chance de   type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.Threading.ThreadAbortException'   est produite dans mscorlib.dll Le fil   0x19b8 est sorti avec le code 0 (0x0).   Le fil 0x18f4 a quitté avec le code   0 (0x0). Le fil 0x420 est sorti   avec le code 0 (0x0). Une première chance   exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dllUne première   hasard exception de type   'System.ArgumentOutOfRangeException'   produite dans mscorlib.dll Un premier   hasard exception de type   'System.ArgumentOutOfRangeException'   est produite dans mscorlib.dll Le programme   '[6084] ps.exe: Managed' a quitté   avec le code -1073740940 (0xc0000374).

Était-ce utile?

La solution

Il est sorta comme témoin l'un de ces carambolages massifs à une course de Formule 1. Le dernier morceau de shrapnel qui est venu à un repos rapporté:

// MessageText:
//
// A heap has been corrupted.
//
#define STATUS_HEAP_CORRUPTION           ((NTSTATUS)0xC0000374L)

Oui, c'est un pneu très sérieux soufflage. Beaucoup de choses vont mal quand un tas est corrompu. Vous avez probablement un code non géré qui est mauvaise conduite d'une manière qui est typique de code non managé, détruisant l'intégrité du tas avec un mauvais pointeur d'écriture. Très difficile à diagnostiquer, isoler ce code.

Autres conseils

Dans VS, allez à Debug / Exceptions, et activez la case à cocher sous la rubrique 'Jeté' pour 'exceptions Common Language Runtime'. Cela va attraper la 'première exception chance'.

Une exception de déploiement semble être lié à Cliquez une fois. Utilisez-vous il?

créer une boîtes de fichier journal de sortie ou un message d'utilisation pour le suivre vers le bas, si l'outil de développement échoue, vous.

Appuyez sur Ctrl + Alt + E dans Visual Studio ou Choisissez Debug> Exceptions dans le menu puis cliquez sur Exceptions CLR pour attraper toutes les exceptions de première chance. Cela devrait alors on peut espérer briser au point de discorde.

Dans le cas contraire, essayez écriture Debug.Write et les déclarations de Trace.Write aux points critiques dans votre code pour voir quel point vous arrivez avant l'échec se produit. Les deux débogage et écriture se trouvent dans l'espace de noms de System.Diagnostics.

OMI le meilleur de débogage tas de corruptions est d'utiliser Windbg. Voici un blog après de Tess sur le débogage corruption de tas managé.

HTH

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top