Laden...

Programm stürzt ab mit "... hat ein Problem festgestellt ..." - wie weiter vorgehen?

Erstellt von prom vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.709 Views
P
prom Themenstarter:in
187 Beiträge seit 2008
vor 14 Jahren
Programm stürzt ab mit "... hat ein Problem festgestellt ..." - wie weiter vorgehen?

ich habe ein Problem und weiß leider nicht, wie ich weiter vorgehen kann:

wenn ich mein Programm starte stürzt es mit folgendes Fehlermeldung ab:

... hat ein Problem festgestellt und muss beendet werden.
Falls Sie ihre Arbeit noch nicht gespeichert hatten, können Daten möglicherweise verloren gegangen sein.

Ich habe in meiner main-Methode einen try-catch-Block herum, aber die fängt leider den Fehler nicht auf.
Und auch in der Ereignisanzeige steht nicht nichts drin...

Was kann ich denn noch machen um herauszufinden, was nicht passt? Bzw. hat irgendwer einen Tipp?

Danke, mfg

PS: ich denke, dass es am System liegt, weiß aber nicht was fehlt. Ist ein WinXP Rechner mit SP3 und installiertem .Net2.0 Redistributable Package... bin als lokaler Admin angemeldet...

K
8 Beiträge seit 2007
vor 14 Jahren

Du solltest deinen Debugger bemühen.

P
prom Themenstarter:in
187 Beiträge seit 2008
vor 14 Jahren

das Problem tritt auf MEINEM Rechner NICHT auf, das ist es ja...

8 Beiträge seit 2006
vor 14 Jahren

Hallo,

nur als Idee:

Wenn in der Main-Methode eine Methode einer externen (referenzierten) Komponente aufgerufen wird und diese Komponente auf dem Zielrechner nicht vorhanden ist (GAC oder lokal oder wo auch immer), dann lässt sich diese Exception nicht per try-catch-Block in der Main-Methode fangen. Die Referenzen werden sozusagen bereits beim Eintritt in Main augelöst.

Um das zu überprüfen, könntest Du den Code der Main-Methode in eine weitere Methode auslagern, diese von Main aus aufrufen und den Aufruf in try-catch klammern. Dann käme zumindest eine sprechende Exception.

Vielleicht hilft's ja weiter.

Gruß
Thomas

Gelöschter Account
vor 14 Jahren
  1. logging einbauen.
  2. remote debuggen versuchen
  3. ordendliches exceptionhandling

Die Referenzen werden sozusagen bereits beim Eintritt in Main augelöst.

nein. die referenzen werden vom assemblyloader aufgelöst und dieser schreit noch vor der main, das er etwas nciht finden kann.

K
8 Beiträge seit 2007
vor 14 Jahren

Prüfen ob du statisch und ohne Fehlerbehandlung von vorhandenen Ressourcen ausgehst und dies korrigieren.

8 Beiträge seit 2006
vor 14 Jahren

nein. die referenzen werden vom assemblyloader aufgelöst und dieser schreit noch vor der main, das er etwas nciht finden kann.

Ja genau, er schreit. Und genau das könnte das Problem sein. Denn mit einem try-catch IN der Main kommt man dann nicht weiter.

P
prom Themenstarter:in
187 Beiträge seit 2008
vor 14 Jahren

kann es sein, dass ich irgendeine dll vergessen habe? oder eine falsche genommen habe?

soetwas vermute ich eigentlich...

aber danke für die Tipps

Gelöschter Account
vor 14 Jahren

kann es sein, dass ich irgendeine dll vergessen habe? oder eine falsche genommen habe?

soetwas vermute ich eigentlich...

das haben wir dir doch auch gesagt. aber das hängt alles auch davon ab, wie dein exceptionhandling implementiert ist.

U
36 Beiträge seit 2008
vor 14 Jahren

Hallo prom,

ich habe festgestellt, daß daß ein try-catch-Block in der main-Funktion eine unbehandelte Exception nicht mehr abfängt, wenn die Funktion Application.Run(MainWindow) erst einmal aufgerufen worden ist.

Um danach auftretende unbehandelte Exceptions abzufangen, solltest Du am Anfang der main einen Eventhandler registrieren.


static void Main()
{

   Application.ThreadException += OnUnhandledAppRunExceptionOccured;

   //...

}

static void OnUnhandledAppRunExceptionOccured(object sender, ThreadExceptionEventArgs args)
{

  // write to logfile or display message

}

Gruß

Michael Schmitz

P
prom Themenstarter:in
187 Beiträge seit 2008
vor 14 Jahren

danke, erstmal, ich glaube, ich habe es eh schon. kann es aber erst morgen testen...

ich glaube, dass ich die sql server ce 3.0 statt der sql ce server 3.5 dateien beim Programm habe... werde das morgen prüfen...

danke, mfg

P
prom Themenstarter:in
187 Beiträge seit 2008
vor 14 Jahren

es waren einfach die falschen Libs dabei, die von ce server 3.0 statt 3.5...

und zu deinem Tipp @Hotzenplotz257:
das funktioniert gut, aber bei fehlenden Libs funktioniert das leider auch nicht...

Danke für die Hilfe, mfg