Beachten beim Debuggen



  • Hallo,

    wie kann sich das Verhalten eines Programms beim Debuggen veraendern ??
    Was muss also beim Debuggen allgemein beachtet werden ?



  • Meiner Erfahrung nicht wirklich viel, solange du (bzw. der dessen Code du nutzt) keinen Müll gebaut hast. Die Performance wird schlechter sein (ich erinner mich da an ein kleines Spiel, welches ich mit der SFML geschrieben hab, das lief im Debug mit 1-3 FPS und im Release mit über 400).



  • blurry333 schrieb:

    wie kann sich das Verhalten eines Programms beim Debuggen veraendern ??

    in Multithreaded Programmen kann bei verbuggtem Code auch mal der Fehler beim Debuggen durch "das Abbremsen" verschwinden.
    Ich habe mir in schlecht durchplantem Multithreaded Code auch schon sauber in den Fuß geschossen, sodass ich die Race Conditions nicht so leicht gefunden habe. Deadlocks sind etwas einfacher zu finden.



  • Die Variablen sind vorinitialisiert.



  • blurry333 schrieb:

    wie kann sich das Verhalten eines Programms beim Debuggen veraendern ??
    Was muss also beim Debuggen allgemein beachtet werden ?

    Geht es um das Attachen eines Debuggers oder den Unterschied zwischen Debug-Release Version.
    Weiterhin kommt es noch auf die Platform an, siehe SIGTRAP.



  • Es geht eigentlich wirklich ums Debuggen , also Fehler finden 🙂



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • blurry333 schrieb:

    Hallo,

    wie kann sich das Verhalten eines Programms beim Debuggen veraendern ??
    Was muss also beim Debuggen allgemein beachtet werden ?

    Speicherbereiche verschieben sich, Variablen bekommen automatisch einen Initialwert um nicht initialisierte Zeigerzugriffe mitzubekommen, Optimierung ist abgedreht d.h. es wird tatsächlich anderer Code als im Releasemode ausgeführt, dadurch auch schlechtere Performance, Multithreading Probleme verschieben sich durch anderes Timing, ...

    Debuggen hilft vor allem, um logische Fehler oder sonstige grobe Fehler zu finden.
    Dinge wie Race Conditions wirst du so kaum finden, v.a. weil Single-Step-Debugging in Multithreaded Apps äußerst mühsam ist.


Log in to reply