Ich erhalte einen APPCRASH von meiner C# Anwendung. Die Runtime gibt die Fehlermeldung "Diese Anwendung hat die Runtime angefordert, um sie auf ungewöhnliche Weise zu beenden". Wenn ich dann auf "OK" klicke, erscheint die Meldung "MyApplication is funktioniert nicht mehr" mit den üblichen Optionen "Online prüfen für eine Lösung", "Programm schließen" und "Programm debuggen". Wenn ich auf "zusätzliche Details" klicke, bekomme ich die APPCRASH-Signatur mit vielen zusätzlichen Informationen. Einige davon sind vom Menschen lesbar, einige sind nur Hex-Zahlen. Der "Ausnahmecode" ist 40000015. Es gibt auch Zeilen mit "Zusatzinformationen". Meine Frage ist: Weiß jemand im Universum, was die Informationen in einer APPCRASH-Nachricht bedeuten?Was bedeuten die Details einer APPCRASH-Nachricht?
Es scheint, als ob die Nachricht von jemandem gelesen werden sollte, der eine Ursache daraus erkennen kann. Bei der Suche nach Antworten habe ich viele Leute gefunden, die genau die gleichen Nachrichten gepostet haben. Leider habe ich keine Erklärungen gefunden, was diese Informationen bedeuten.
Auch habe ich die "Debug-Programm" -Option versucht, aber es ist nicht hilfreich. Es bringt mich einfach in System Dlls mit keinem Code auf den Call-Stack. Ich habe untersucht, und der Fehler tritt in diesem Systemcode nicht auf.
Die APPCRASH-Nachricht benannte eine andere DLL als das "Fehlermodul" (dieser Code verwendet viele externe DLLs), und der schwerwiegende Fehler tritt dort wahrscheinlich auf. Aber diese Information ist nicht sehr hilfreich, da ich den Platz in meinem Code finden muss, der die externe DLL schlecht anruft (oder sie in einen schlechten Zustand versetzt). Wenn ich "mein Code" sage, meine ich nur den Code, mit dem ich arbeite. Es ist eine riesige Codebase, die von ein paar Dutzend Leuten über ein paar Jahre hinweg geschrieben wurde, so dass ich nicht nur Orte erraten kann, die den fatalen Anruf auslösen könnten. Deshalb hoffte ich, mehr Informationen aus der APPCRASH-Nachricht zu erhalten. Das ist auch der Grund, warum ich mit Details sehr geizig bin. Das Ganze ist alles sehr proprietär mit viel Bürokratie. Deshalb habe ich auch den Inhalt der APPCRASH-Nachricht nicht gepostet.
Um klar zu sein, ich bitte Sie nicht, mein Problem für mich zu debuggen. Ich habe keine Möglichkeit, Ihnen einen reproduzierbaren Fall des Fehlers zu geben, und ich bitte niemanden, mir die Ursache des Fehlers in meinem speziellen Fall zu nennen. Ich möchte nur wissen, wie man diese Hex-Zahlen interpretiert, und ich konnte keine Dokumentation finden.
Es ist der Ausnahmecode, der verwendet wird, wenn systemeigener C- oder C++ - Code die Funktion abort() aufruft. Wir können Ihnen nicht helfen, es zu finden, aber es befindet sich eindeutig in den System Dlls, in die Sie sich verirrt haben. –
Die Ausnahme tritt nicht im Systemcode auf, den der Debugger mir gegeben hat; aber es ist wahrscheinlich eine Ausnahme in einer anderen externen DLL auftritt. Wenn das von einem abort() Anruf ist, dann stirbt es irgendwo in unkontrolliertem Land. – user1646801
Klingt, als hätten Sie Probleme mit nicht verwaltetem Code. Um das Problem zu isolieren, würde ich versuchen, in Ihrem Code nach [DllImport] zu suchen und zu versuchen, zu spotten, dies zu kommentieren und zu sehen, ob Sie weniger Probleme haben. Andere Idee ist, wenn Sie Komponenten von Drittanbietern haben, die falsche nicht verwaltete Anrufe haben können. Versuchen Sie zuletzt, WinDBG und suchen Sie nach dem Problem. WinDBG wird meine letzte Ressource sein, da ich kein Spezialist bin und es ist eine sehr hardcore Art des Debuggens. –