Seite 1 von 1

Debugging bei FullScreen

Verfasst: 31.08.2019 12:49
von Tanaghra
Wahrscheinlich wurde diese Frage schon gestellt, aber meine Suche mit den Begriffen 'Debuggen' und 'Fullscreen' war nicht erfolgreich.

Ich habe das Problem, daß ich bei der Programmierung eines Fullscreen-Spiels (mit FlipBuffers() und dem ganzen Programm) zwar Haltepunkte im Kode setzen, aber nach dem Halt mich nicht im Einzelschrittverfahren (F8-Taste) im Kode vorwärtsbewegen kann, wie ich das von der GUI-Programmierung her kenne. Die Abarbeitung friert am Haltepunkt ein. Ich bin an einem toten Punkt angelangt, weil ich den Fehler einfach nicht finden kann und das ’normale’ Debuggen nicht funktioniert.

Re: Debugging bei FullScreen

Verfasst: 31.08.2019 12:55
von Derren
Spricht etwas dagegen einen Windowed Screen zu verwenden (für die Dauer der Entwicklung)?
Für die Entwicklung sollte es keine Rolle spielen (offenbar etwas langsamer, als Fullscreen, aber sonst).
Das einzige, was du damit nicht "vorhersehen" kannst, sind Probleme bei der Auflösung (wenn du eine Auflösung öffnest, die der Bildschirm nicht unterstützt), aber das sollte kein Problem sein, wenn man ordentliche Abfragen einbaut.

Re: Debugging bei FullScreen

Verfasst: 31.08.2019 12:58
von #NULL
Wie meinst du das, es friert ein. Ich kann das nicht nachvollziehen. Wenn man Threads verwendet, dann ist der Debugger nicht sehr hilfreich, aber ansonsten sollte das funktionieren. Kannst du das mit einem kurzen Code reproduzieren?

Re: Debugging bei FullScreen

Verfasst: 31.08.2019 13:04
von #NULL
Achso stimmt, im Fullscreen geht das schlecht. Unter Linux wird auch die Desktopauflösung nicht richtig zurückgesetzt.

Re: Debugging bei FullScreen

Verfasst: 04.09.2019 20:05
von juergenkulow
Hallo Tanaghra,

mit einem zweiten Monitor und xdbg64 per Tastatursteuerung, einfügen von EnableASM NOP in Deinen Code an die verdächtige Stelle, erzeugen von DeinProgramm.EXE und ausführen von xdbg64 aus könntest Du versuchen den Fehler zu finden.
Hast Du schon die verdächtige Stelle z.B. mit OnErrorCall(@ErrorHandler()) gefunden?
Fehler und Trace-Meldungen könnte man auch in eine Datei schreiben. Ein CloseFile bringt die Info rechtzeitig auf die SSD.

Gruß