Seite 1 von 1

Qt Debuggen

Verfasst: 03.07.2011, 00:26
von Jonathan
Ich benutze VS2010 prof. und versuche gerade meine Qt Anwendung zu debuggen. Mein Problem ist, dass es irgendwo knallt, aber mit Visual Studio nix vernünftiges anzeigt. Laut CallStack irgendwo in einer ntdll.dll und angezeigt wird die qtrhead_win.cpp.
Ich hab eine Funktion mit einer Schleife, die so an die 100k Durchläufe macht. Jetzt setze ich vor der Schleife einen Breakpoint und dahinter einen. Irgendwo in der Schleife knallt es dann und ich weiß nicht wo. Solche Probleme hatte ich schon öfters, das irgendwo etwas abstürzt und mir nichts brauchbares angezeigt wird, soweit ich mich erinnern kann immer in Zusammenhang mit Qt. Im Thread Fenster werden noch 3 andere Threads angezeigt, aber da find ich auch nichts verwertbares. Interessant ist, dass der Callstack zwar nie etwas brauchbares liefert, aber ab und zu schonmal unterschiedlich aussieht, wenn ich das Programm mehrmals ausführe. Irgendeine Idee, was man machen könnte?

Re: Qt Debuggen

Verfasst: 03.07.2011, 00:54
von eXile
Das Hauptproblem liegt darin, zu erkennen, ab wann das Programm in einen ungültigen Zustand gerät. Normalerweise, wie du schon sagtest, debuggt man das post-mortem via Call-Stack. Sollte der Call-Stack ungültig sein, fiele mir auf die Schnelle ein, die Schleifenindizes in die Konsole oder mittels OutputDebugString auszugeben. Wenn du Glück hast, kracht es immer beim gleichen Index, und kannst dann was rumpopeln.