-----Original Message----- From: Jens Lorenz [SMTP:htw9935@informatik.htw-dresden.de] Sent: Friday, March 31, 2000 11:00 AM To: lug-dd@schlittermann.de Subject: Re: [Lug-dd] Frage zu ppc386 und ddd
JMueller@Dresden.DE wrote:
Hat jemand Erfahrung mit dem Debuggen von Pascal-Programmen in LINUX?
Mir
gelingt es nicht, mit dem Debugger den Inhalt von Variablen anzuzeigen. Josef Müller
... keine direkte Loesung fuer dein Problem, aber vielleicht hilft es ja trotzdem ...
Ich habe beinahe noch nie einen Debugger zur Fehlersuche genutzt ... Es geht IMHO nichts ueber ein gutes printf / writeln an der richtigen Stelle ... Damit kannst du dir auch den Inhalt der Variablen anschauen ...
Hmmm, also richtig debugt habe ich wohl erst ein einziges Mal ... und das auch nur, weil ich nicht mehr nachvollziehen konnte, was eigentlich passiert - das machen sich prints schlecht ;-)
Ansonsten stimmt das ... nur manchmal kann das sehr viel sein und die Laufzeit boese beeinflussen. Also sparsam! moeglichst mit #ifdef/#endif einpacken, um es schnell deaktiviren zu koennen. Ooops, das war C - aber so was in der Art hat Pascal bestimmt auch.
Wichtig ist eigentlich nur, dass du saemtliche Ausgaben mit einem Newline abschliesst. Sonst werden sie gepuffert und diese Puffer landen bei einem segmentation fault im Nirvana ...
Hier ist nun aber fuer mich der Lieblingsplatz fuer den Debugger. gdb -c core <proggy-binary> laedt naemlich Proggy+Core. Ein anschliessendes
where
im Debugger listet peinlich genau den Stack. Die schnellste Methode solche Sachen aufzufinden. Mit AAAAAAbstand!
Mit bedingter Compilierung und einem debug-include ist das alles noch ein wenig komfortabler, aendert aber nicht am Prinzip. (sollte auch unter Pascal moeglich sein, weiss ich nicht, schon lange keine Pascal mehr gemacht)
Debug muss beim Compilieren auf jeden Fall an sein, sonst sind die Informationen sehr spaerlich. Variablen kann man sich mit
display <name> display
anzeigen lassen. Aber dann nimmst Du wohl lieber ein grafisches Frontend, sonst wird es echt laestig. Da ist ein Kontrollausdruck allemal besser!
Willi