Wie behebe ich eine .NET-Windows-Anwendung, die beim Start mit Ausnahmecode: 0xE0434352 abstürzt?
Habe ich gebaut .NET Windows Forms - Anwendung in Visual Studio 2010. Ich baute auch ein entsprechendes setup/install-Paket per Visual Studio 2010. Dies ist gebaut wie eine 32-bit - (x86-Anwendung). (Wir machen Verwendung von Drittanbieter-Windows Forms-Steuerelementen, die nur 32-bit).
Ich bin in der Lage, führen Sie das setup-Paket, und bereitstellen, die erfolgreich auf andere Windows 7 in der 64-bit-Umgebungen und 32-bit-Windows XP Kisten. Das installierte Programm läuft wunderbar auf diese.
Jedoch, wenn ich versuche zu laufen Windows Server 2008 R2 - 64-bit, stürzt die Anwendung beim Start. Es erfolgreich installiert über den installer ohne Fehler.
Scheint es zu Abstürzen beim laden der Anwendung. Ich habe eine message-box als erste Zeile in der Anwendung, um zu sehen, wenn es Vergangenheit laden. Das Meldungsfeld wird nicht angezeigt, also gehe ich davon aus, dass es Auftritt, beim laden/init der Anwendung.
Bisher habe ich noch nicht viel gefunden, weiter zu gehen. Von den Details sehe ich Folgendes:
Exception Code: E0434352
Habe ich gefischt rund/gegoogelt, um zu sehen, ob es etwas offensichtlich, aber ich sah nichts. Ich sah einige Hinweise auf einen möglichen stack-überlauf im CLR.
Windows Forms-Anwendung erstellt wurde, mit den folgenden Referenzen:
- DevExpress
- Infragistics Winforms-Steuerelemente
- ORACLE DataAccess DLL
- RabbitMQ
Was ist das Problem?
Wie begegne ich herauszufinden diese aus?
Wie kann ich Debuggen, erhalten Sie weitere nützliche Informationen?
InformationsquelleAutor der Frage JohnB | 2011-06-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
0xE0434352 ist die Ausnahme-code für alle .NET Ausnahmen damit nicht sagen Sie viel. Wie hast du diese Ausnahme-code? Das Ereignisprotokoll?
Ihre beste Wette ist, einen debugger verwenden um weitere Informationen zu erhalten. Wenn der Visual Studio debugger wird Ihnen nicht helfen, dann müssen Sie vielleicht zu prüfen, aus WinDbg mit SOS. Sehen hier und hier für eine Einführung. Lassen Sie uns es brechen, die auf die Ausnahme, und sehen, ob Sie können mehr Informationen über das warum.
Wenn Sie vermuten, es ist ein Problem beim laden von Assemblys, die Sie vielleicht prüfen wollen, die Fusion-Protokoll.
InformationsquelleAutor der Antwort Lars Truijens
Wenn Sie immer sind, die Fehler aus der Ereignisanzeige, sollten Sie eine andere Fehler-Ereignis (mindestens eins) von der Quelle ".NET-Runtime". Schau Fehlermeldung, wie es enthält die
Exception
info.InformationsquelleAutor der Antwort Tergiver
Einer prägnanten Erläuterung für 0xE0434352 im blog-post Warum muss ich immer Ausnahmecode e0434352? wie sind Anweisungen für das debugging über WinDbg und cdb.
InformationsquelleAutor der Antwort Igor Dvorkin
Kämpfte ich mit das den ganzen Tag Fragen, meine Benutzer zum ausführen von debug-Versionen der software. Weil es sah aus wie es nicht laufen der ersten Zeile. Nur ein Absturz ohne Informationen.
Dann merkte ich, dass der Fehler innerhalb des Formulars InitializeComponent.
Dem Weg zu bekommen, war eine Ausnahme, um diese Zeile zu entfernen (oder kommentieren Sie Sie aus):
Sobald Sie loszuwerden der Linie, erhalten Sie eine normale Ausnahme.
InformationsquelleAutor der Antwort Gabriel Fernandez
War ich immer, wenn die app bereitgestellt. In meinem Fall wählte ich "Dies ist eine voll Vertrauenswürdige Anwendung" auf der Projekt-Registerkarte Sicherheit, und dass es behoben.
InformationsquelleAutor der Antwort Joel
Ich bin mir nicht sicher, ob dies jemand hilft oder nicht, aber da war es mein problem ist, ich glaube, es ist erwähnenswert:
Ich wurde immer diese Fehlermeldung, und es stellte sich heraus, dass ein problem mit der Plattform, für die die EXE gebaut wurde. Wir hatten es Gebäude für x86, und es benötigt wird, x64, weil der Oracle-Referenz in das Projekt. Wenn wir diese änderung vorgenommen, das problem ging Weg. So, sehen, wenn Sie irgendwelche ähnliche Konflikte.
InformationsquelleAutor der Antwort John
Sieht es aus wie dieser Fehler 0xe0434352 gilt für eine Reihe von verschiedenen Fehlern.
Den Fall, dass es hilft jemand, ich lief in dieses Fehlermeldung, wenn ich versuche zu installieren, ich meine Anwendung auf eine neue Windows-10-installation. Es hat funktioniert auf anderen Computern, und sah wie die app momentan beginnen würde, bevor Sie stirbt. Nach viel Versuch und Irrtum das problem stellte sich heraus, dass die app benötigt DirectX9. Wenn eine neuere version von DirectX vorhanden war, musste es die version 9. Hoffe, das spart jemand einige frustration.
InformationsquelleAutor der Antwort Mike Kelly
Beheben das Problem für mich (als Anzahl der gestarteten Anwendungen werfen dieser Ausnahme alle von einer plötzlichen, Z. B. CorelDraw X6 als einer), habe ich den deinstalliert .NET 4.5 runtime und installiert .NET 4 runtime. Die beiden Versionen können nicht installiert werden, Seite an Seite, aber Sie nutzen die gleiche version zahlen in der GAC. Das führt zu Problemen, da einige der Funktionen wurden abgeschrieben 4.5.
Die DLL-Hölle zurückgegeben hat...
InformationsquelleAutor der Antwort user857629
Also.. ich hatte bemerkt, in der Ereignisanzeige, dass dieser Absturz entsprach einer "System.IO.FileNotFoundException" - Fehler.
Also feuerte ich ProcMon und bemerkte, dass einer der Programm-dlls nicht geladen werden vcruntime140.
Also ich habe einfach installiert vs15 redist und es funktionierte.
InformationsquelleAutor der Antwort mirh
Wir haben diesen Fehler aus, wenn die Verbindungszeichenfolge an, die unsere Datenbank nicht korrekt war. Der Schlüssel, um herauszufinden this out mit der dotnet blah.dll die einen stacktrace zeigt uns, dass die sql server-Instanz angegeben ist, konnte nicht gefunden werden. Hoffe, das jemand hilft.
InformationsquelleAutor der Antwort dellyjm
.Net-Anwendung code bricht ab, bevor er seine Ausführung beginnt [Konsolenanwendung oder Windows-Anwendung]
Ausnahme: Unbekannte Ausnahme
Wenn eine Anwendung bereits ausgeführt wird, das haben die davon abhängige Ressourcen, und diese Ressourcen sind noch in Gebrauch, die mit der Anwendung ausgeführt, wenn eine andere Anwendung oder der gleichen exe ausgelöst wird, aus einer anderen Quelle, dann ist man der app den Fehler auslöst
Wenn eine Anwendung ausgelöst wird, durch den scheduler oder die automatische Arbeitsplätze, es kann im Zustand " Ausführung im hintergrund, inzwischen, wenn Sie versuchen zum auslösen der gleichen Anwendung erneut, der Fehler ausgelöst werden kann.
Erstellen Sie eine Anwendung, Wann & wo die Freigabe der Anwendung alle Ressourcen, sobald abgeschlossen
Tötet alle den Prozess im hintergrund, wenn die Anwendung geschlossen ist
Überprüfen und vermeiden Sie die Ausführung der Anwendung aus mehreren Quellen wie Batch-Prozess, Task-Scheduler und externe tools zur gleichen Zeit.
Überprüfen Sie für die Anwendung und Ressourcen-Abhängigkeiten und den code zu bereinigen, wenn nötig.
InformationsquelleAutor der Antwort BHUVANESH MOHANKUMAR