Benutzer mit den meisten Antworten
programm hängt sich auf

Frage
-
Hallo zusammen,
ich hab mit meiner eigenen Anwendung folgendes Problem. Nachdem die Software gestartet wurde, und sie eine Zeitlang lief, bekam ich im Fenster eine Mitteilung "Keine Rückmeldung" und die Software reagierte nicht mehr. Wer hat ne Idee, woran es liegen könnte? Ich erzeuge eine *.txt-Datei. Im Debuggingmodus tritt dieser Fehler nicht auf.
Danke
Manfred
mk
- Typ geändert Robert BreitenhoferModerator Dienstag, 27. März 2012 13:35 Keine Rückmeldung des Fragenstellender
- Typ geändert Robert BreitenhoferModerator Donnerstag, 29. März 2012 11:37 Rückmeldung des Fragenstellender
Antworten
-
In alle Regel hilft hier Debuggen.....
Lass das Programm laufen und wenn es hängt, starte VS (oder WinDbg) und attac he Dich zu dem Prozess. Dann drücke "Debug|Break All" und schaue was Dein Programm so alles macht...Wenn das "Keine Rückmeldung" kommt, bedeutet dies, dass die Msg-Queue Deines Fensters (i.d.R. der Hauptthread) nicht mehr abgearbeitet wird. Somit wirst Du da irgendwas machen, was dazu führt, dass die Msg-Pump nicht mehr pumpt...
Jochen Kalmbach (MVP VC++)- Als Antwort vorgeschlagen Martin RichterModerator Mittwoch, 14. März 2012 12:06
- Als Antwort markiert manfred kutschera Donnerstag, 29. März 2012 11:52
-
Wie bereits vorher erwähnt wurde, versuch die Stelle herauszufinden, an der sich dein Programm aufhängt. Ein häufiger Fehler, der dieses Problem hervorruft sind Endlos-schleifen. Eventuell hängt das Problem auch damit zusammen, dass du beim Zugriff auf die Datei, die Resourcen nicht sauber aufräumst und so der Zugriff eventuell nicht mehr möglich ist. Packe einfach alles einmal in einen
Try Catch Ex As Exception Console.print(Ex.StackTrace) End Try
und schreib uns mal was dann in dener Konsole auftaucht.
- Als Antwort vorgeschlagen Niko Mix Mittwoch, 14. März 2012 15:20
- Als Antwort markiert manfred kutschera Donnerstag, 29. März 2012 11:51
-
Packe einfach alles einmal in einen
Try Catch Ex As Exception Console.print(Ex.StackTrace) End Try
Das ist eine sehr schlechte Lösung und solte auch so nie verwendet werden. Auch wird es hier nichts helfen, da es ja vermutlich eine Endllos-Schleife ist und somit keine Exception....
Dieser Code-Teil würde nur etwas bringen, wenn die Applikation abstürzt; wobei ich da eher ein für einen "Unhandled-Exception-Handler" bin, der dann dort passende Maßnahmen einleitet und die Anwenungd nach Hinweis an den Benutzer beendet...
Wir wissen aber nicht, ob der OP .NET oder native Code verwendet....
Jochen Kalmbach (MVP VC++)- Als Antwort markiert manfred kutschera Donnerstag, 29. März 2012 11:51
-
Wie ich auch in meiner Antwort schrieb, gehe ich von einer Endlosschleife aus. Der Try Catch block, war lediglich, wie ich auch schrieb, ein Versuch herauszufinden woher der Fehler kommt. Wofür sich der Try Catch Block hervorragend eignet. Problemfindung <> Problemlösung.
- Als Antwort markiert manfred kutschera Donnerstag, 29. März 2012 11:51
Alle Antworten
-
In alle Regel hilft hier Debuggen.....
Lass das Programm laufen und wenn es hängt, starte VS (oder WinDbg) und attac he Dich zu dem Prozess. Dann drücke "Debug|Break All" und schaue was Dein Programm so alles macht...Wenn das "Keine Rückmeldung" kommt, bedeutet dies, dass die Msg-Queue Deines Fensters (i.d.R. der Hauptthread) nicht mehr abgearbeitet wird. Somit wirst Du da irgendwas machen, was dazu führt, dass die Msg-Pump nicht mehr pumpt...
Jochen Kalmbach (MVP VC++)- Als Antwort vorgeschlagen Martin RichterModerator Mittwoch, 14. März 2012 12:06
- Als Antwort markiert manfred kutschera Donnerstag, 29. März 2012 11:52
-
Wie bereits vorher erwähnt wurde, versuch die Stelle herauszufinden, an der sich dein Programm aufhängt. Ein häufiger Fehler, der dieses Problem hervorruft sind Endlos-schleifen. Eventuell hängt das Problem auch damit zusammen, dass du beim Zugriff auf die Datei, die Resourcen nicht sauber aufräumst und so der Zugriff eventuell nicht mehr möglich ist. Packe einfach alles einmal in einen
Try Catch Ex As Exception Console.print(Ex.StackTrace) End Try
und schreib uns mal was dann in dener Konsole auftaucht.
- Als Antwort vorgeschlagen Niko Mix Mittwoch, 14. März 2012 15:20
- Als Antwort markiert manfred kutschera Donnerstag, 29. März 2012 11:51
-
Packe einfach alles einmal in einen
Try Catch Ex As Exception Console.print(Ex.StackTrace) End Try
Das ist eine sehr schlechte Lösung und solte auch so nie verwendet werden. Auch wird es hier nichts helfen, da es ja vermutlich eine Endllos-Schleife ist und somit keine Exception....
Dieser Code-Teil würde nur etwas bringen, wenn die Applikation abstürzt; wobei ich da eher ein für einen "Unhandled-Exception-Handler" bin, der dann dort passende Maßnahmen einleitet und die Anwenungd nach Hinweis an den Benutzer beendet...
Wir wissen aber nicht, ob der OP .NET oder native Code verwendet....
Jochen Kalmbach (MVP VC++)- Als Antwort markiert manfred kutschera Donnerstag, 29. März 2012 11:51
-
Wie ich auch in meiner Antwort schrieb, gehe ich von einer Endlosschleife aus. Der Try Catch block, war lediglich, wie ich auch schrieb, ein Versuch herauszufinden woher der Fehler kommt. Wofür sich der Try Catch Block hervorragend eignet. Problemfindung <> Problemlösung.
- Als Antwort markiert manfred kutschera Donnerstag, 29. März 2012 11:51
-
Danke, hab den Fehler warscheinlich gefunden.
Hallo manfred kutschera,
Es wäre schön und hilfreich, wenn Du posten würdest wie es funktioniert hat, denn dann profitieren unter Umständen andere mit dem gleichen Problem davon.
Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.- Als Antwort markiert manfred kutschera Donnerstag, 29. März 2012 11:52
- Tag als Antwort aufgehoben Robert BreitenhoferModerator Donnerstag, 29. März 2012 11:59
-
Hallo Robert,
hatte ich doch schon. Aber es war wohl doch nicht der Fehler. Mir ist folgendes aufgefallen. Wenn ich eine andere Anwendung starte, z. B. ins Internet gehe, dann stopt mein Programm und es erscheint diese Mitteilung "Keine Rückmeldung" im Formularfenster.
Grüße
Manfred
mk
-
Hallo manfred kutschera,
Ich möchte Dich bitte folgendes lesen und die Beiträge die Dir geholfen haben zu bewerten. Vielen Dank.
Nutzen Sie die Bewertungsfunktionen ("Antwort" und "Hilfreich") in den MSDN Foren! Unter anderem können andere später eine Lösung schneller finden. Es ist also wünschenswert, dass die fragenden (Benutzer) die Postings anderer Beantworter bewerten.
Hier dazu die wichtigsten Anhaltspunkte aus den Forenregeln und FAQs.
Lösungsbeiträge als „Die Antwort“ markieren
Bitte markieren Sie den Beitrag, der zur Lösung geführt hat, als "Die Antwort". Durch Bewerten eines Beitrags als "Die Antwort" können andere Teilnehmer die Lösung schneller finden. Außerdem können Sie dem Benutzer, der die Antwort eingereicht hat, für seinen Beitrag danken und zur Steigerung der Antwortqualität in der Diskussionsgruppe beitragen.
[Quelle: Forenregeln]
Wie bewerte ich einen Beitrag? Um einen Beitrag als hilfreich zu bewerten, klicken Sie in einem beliebigen Beitrag auf Als hilfreich bewerten. Sie können Ihre Stimme nur einmal für einen Beitrag abgeben.
[Quelle: Häufig gestellte Fragen]Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.- Als Antwort markiert manfred kutschera Donnerstag, 29. März 2012 11:51
- Tag als Antwort aufgehoben Robert BreitenhoferModerator Donnerstag, 29. März 2012 11:59