Lorsque vous utilisez Visual Studio 2010 pour créer une nouvelle application Windows Forms sur le système Windows 64-bits, il peut rencontrer des problèmes qui n'ont pas été affichés et non préparés. Lorsque le code n'est pas traité dans le code dans le programme de traitement des événements de charge, le programme sautera la ligne de code problème et continuera à s'exécuter sans aucune erreur. Ceci est différent du comportement de l'interruption du débogueur attendu et de l'affichage inhabituel des informations non corrigées.
L'analyse des causes racine
Ce comportement anormal provenait de la couche de simulation WOW64 (Windows-on-Windows 64 bits) pour interagir avec le code 32 bits fonctionnant sur des systèmes 64 bits. Lorsque le gestionnaire de fenêtres 64-bits déclenche la notification, le code de réponse (tel que le programme de traitement des événements de charge) est exécuté dans un environnement à 32 bits. Si des anomalies se produisent dans ce code à 32 bits, la couche WOW64 peut avaler une anomalie et empêcher le débogueur de le détecter.
Solution et modification de la méthode
Définissez la cible de la plate-forme comme anycpu et annulez le "préfère 32 -bit" sélectionné:
Navigation vers Project & gt; Attribut & gt; Définissez la cible de plate-forme sur AnyCPU.
Sélectionnez la case CLR anormale "causée".
Cela suspendra l'exécution du débogueur obligatoire dans toute ligne anormale CLR, quelle que soit son emplacement dans le programme de traitement des événements de charge.Utilisez FailFast pour afficher un message d'erreur dans le bloc Catch et terminez soudainement l'application.
Ce sera désactivé une capture anormale désactivée dans le cycle de message pendant le débogage.
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
re -évaluer si votre code doit vraiment être placé dans le programme de traitement des événements de charge.
Description supplémentaire:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!