Autor Beitrag
JungerIslaender
ontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 427
Erhaltene Danke: 5

Win XP
Delphi 7; Delphi 2005
BeitragVerfasst: Fr 08.02.08 18:49 
Kann mir mal jemand den Debugger erklären, wie er funktioniert und wie ich damit fehler finde.


Danke wäre sehr nett.


Moderiert von user profile iconChristian S.: Topic aus VCL (Visual Component Library) verschoben am Fr 08.02.2008 um 18:17
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Fr 08.02.08 18:58 
Mit dem Pause-Button in der Symbolleiste stoppst du das Programm und kannst es Debuggen. Mit F8 kannst du es nun Schritt für Schritt ablaufen lassen. Bei manchen Delphi-Versionen wird der Inhalt einer Variable angezeigt, wenn du mit der Maus darüberfährtst, bei manchen Versionen musst du die Variable erst überwachen. Du findest diese Option Im Menü Ansicht oder Start.

Bei ansteigender Version gibt es immer mehr Funktionen, die der Debugger bietet, ich habe bis jetzt immer nur mit den bereits genannten gearbeitet.


Zuletzt bearbeitet von Yogu am Fr 08.02.08 19:32, insgesamt 1-mal bearbeitet
JungerIslaender Threadstarter
ontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 427
Erhaltene Danke: 5

Win XP
Delphi 7; Delphi 2005
BeitragVerfasst: Fr 08.02.08 19:01 
Aha und dann sehe ich halt in welchem Teil menes Programms genau der Fehler sitzt. Aber dass zeigt er mir doch sowieso schon an. Welche weiteren Funktionen hat es denn ? (Speziell in delphi 7 und 2005)
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Fr 08.02.08 19:07 
Damit siehst du Fehler, die keine Syntaxfehler sind :D

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
JungerIslaender Threadstarter
ontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 427
Erhaltene Danke: 5

Win XP
Delphi 7; Delphi 2005
BeitragVerfasst: Fr 08.02.08 19:16 
Könntest du mir den erklären wie das Teil genau funktioniert?? Denn für mich stehen da nur millionen Zahlen.
Und don't forget my question before :D
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Fr 08.02.08 19:18 
Wenn du Delphi 7 benutzt, dann wird dir beim Anhalten ein CPU-Fenster angezeigt, was das gesamte Programm in Assembler anzeigt. Wenn du zufällig Assembler fließend sprichst, dann sagt dir das sicher auch was ;)

Wenn das nicht der Fall ist, solltest du das CPU-Fenster einfach schließen. Darunter ist dein eigener Code. Denn solltest du noch verstehen. Wenn nicht, kann ich dir auch nicht mehr helfen ;)

Dort kanns du wie schon erwähnt F8 benutzen, um Schrittweise zu debuggen, und in D7 kannst du mit Strg+F5 Variablen beobachten, die dir dann in einem Fenster angezeigt werden.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 08.02.08 19:21 
Zahlen? Meinst du das CPU-Fenster? Das Debugging spielt sich dort normalerweise weniger ab (es sei denn man kann Assembler ;-)).
Normalerweise setzt du (mit F5 oder Klick links neben die Zeile) einen Haltepunkt in eine Zeile, führst dann das Projekt aus und sobald das Programm an dieser Stelle ankommt, wird das Programm angehalten und du kannst mit F7 oder F8 die einzelnen Anweisungen ausführen und die Werte der Variablen dabei beobachten (Maus drüberhalten oder Ausdruck markieren und Strg + F7 drücken).
So findest du meistens relativ schnell den Fehler, es sei denn der Fehler ist komplexerer Natur. Das sollte aber am Anfang nicht der Fall sein.

// Edit:
Ach so: Wenn bereits ein Fehler aufgetreten ist, und das CPU-Fenster bereits angezeigt wird, dann ist es meistens zu spät, d.h. du musst vor den vermutlich fehlerhaften Code deinen Haltepunkt setzen und dann schrittweise weitermachen bis der Fehler auftritt. So merkst du beim ersten Mal wo er auftritt und beim nächsten Mal kannst du vorher schauen was in den Variablen drinsteht (was also den Fehler verursacht).