Debuggen mit Haltepunkten innerhalb von OnPaint() Problem



  • Remotedebugging. Oder ein zweiter Bildschirm.

    Schade, ich hatte gehofft, daß es vielleicht noch andere Möglichkeit gibt. 😞

    Das macht das Debuggen von Grafik innerhalb von OnPaint() nicht gerade eben einfach.

    Trotzdem danke für die Antwort!



  • Tritt der Bug nur im Vollbildmodus auf, oder wieso genau kannst du den zum Debuggen nicht einfach ausschalten?



  • Und wenn Du den Breakpoint so konditionierst das er nach 1x aufrufen
    inaktiv wird ? (Hit Count property)

    Oder ein Step-Over ?

    Bin mir nicht sicher ob Du mit dem Breakpoint haderst
    oder mit der Nachrichtenschleife.



  • pV schrieb:

    Und wenn Du den Breakpoint so konditionierst das er nach 1x aufrufen
    inaktiv wird ? (Hit Count property)

    Oder ein Step-Over ?

    Beide Möglichkeiten kannte ich noch nicht und werde ich mal anschauen.

    Aber sie werden in meinem speziellen Problem wohl nicht helfen. Denn ich möchte eine Grafikfunktion innerhalb von OnPaint() debuggen, die bis zum Programmstart entweder 1x oder 2x aufgerufen wird (bei einem Programmfehler möglicherweise noch häufiger) - je nach Programmoptionen.

    Es handelt sich dabei um eine Basisklassenfunktion, die von zwei verschiedenen abgeleiteten Klassen geerbt wird.

    Bin mir nicht sicher ob Du mit dem Breakpoint haderst oder mit der Nachrichtenschleife.

    Mit beiden, weil OnPaint() in dem Moment, wenn die App starten und sich in den Vordergrund schieben will, irgendwie noch einmal aufgerufen wird und ich so wieder im Debugger beim meinem Haltpunkt lande usw. usw..

    Das kann ich vermeiden, wenn ich VS2012 und die App auf dem Bildschirm nebeneinander betreibe. Dann lande ich beim Programmstart der App nicht wieder im Debugger. Leider wird beim Verkleinern des Programmfensters der App die Grafik natürlich nicht vollständig dargestellt, sodaß es nicht möglich ist zu überprüfen, ob sie richtig dargestellt wird. 😞

    Das Problem müßte ja eigentlich jeder kennen, der schon mal Grafikfunktionen innerhalb von OnPaint() debugged hat. Das scheint ja ein grundsätzliches Problem zu sein.


  • Mod

    Die Lösungen wurden genannt: Remote Debugging, zweiter Monitor.
    Wobei ich das erstere grundsätzlich bevorzuge.



  • Martin Richter schrieb:

    Die Lösungen wurden genannt: Remote Debugging, zweiter Monitor.
    Wobei ich das erstere grundsätzlich bevorzuge.

    Für mich war das Thema mit der ersten Antwort von MFK eigentlich auch abgeschlossen. Die Lösung mit zweitem Monitor ist mir klar, da es auch funktioniert, wenn VS2012 und die App nebeneinander auf dem Bildschirm betrieben werden.

    Für Remote Debugging, so dachte ich jedenfalls, wird ein zweiter Rechner benötigt, vom dem es betrieben wird. Da ich aber weder einen zweiten Monitor, noch einen zweiten Rechner besitze, hatte ich das Thema für erledigt gehalten.

    Gibt es denn eine Möglichkeit Remote Debugging nur mit einem einzigen Rechner auszuführen?



  • Für den Fall dass es übersehen wurde:

    dot schrieb:

    Tritt der Bug nur im Vollbildmodus auf, oder wieso genau kannst du den zum Debuggen nicht einfach ausschalten?



  • @dot
    Von einem "Bug" war nie die Rede. Sondern von einem ganz normalen Verhalten von Visual Studio, daß das Deguggen innerhalb der OnPaint Funktion erschwert.

    "Vollbild" war vielleicht mißverständlich ausgedrückt. Gemeint ist wenn VS2012 den ganzen Bildschirm einnimmt.

    Im übrigen ist die Lösung schon in der ersten Antwort genannt worden. Trotzdem danke für die angebotene Hilfe.



  • Oh, da hab ich wohl was falsch verstanden...


  • Mod

    mireiner schrieb:

    Gibt es denn eine Möglichkeit Remote Debugging nur mit einem einzigen Rechner auszuführen?

    Ja! In einer virtuellen Maschine und dort gibt es dann naürlich auchnicht das Problem des Fokus Verlusts etc. Auch azyklische Paints kommen eigentlich nicht vor.
    Ich benutze das auch oft. Obwohl hier ein zweiter Monitor auch von Vorteil ist.



  • Martin Richter schrieb:

    Ja! In einer virtuellen Maschine und dort gibt es dann naürlich auchnicht das Problem des Fokus Verlusts etc. Auch azyklische Paints kommen eigentlich nicht vor.
    Ich benutze das auch oft. Obwohl hier ein zweiter Monitor auch von Vorteil ist.

    Das war mir nicht bewußt. Danke für die Info!



  • danke


Anmelden zum Antworten