Mathias hat geschrieben:Wen ich ehrlich bin, den Debugger habe ich bis jetzt nicht genutzt. zum überwachen einer Variable, habe ich bis jetzt immer WriteLn oder ShowMessage benutzt.
Das geht zwar auch, und ist für eine Variable auch kaum Aufwand, aber bei 3+ Variablen ist das doch recht nervtötend, einfach Strg+Alt+L drücken, einen Break point setzen und du kannst an diesen Breakpoint alle lokalen Variablen und deren Werte sehen, sowie mit jedem Step den du im Debugger machst die veränderungen sehen, ist grade für Schleifen zu kontrollieren oder ähnliches deutlich angenehmer. Ich habe mir mitlerweile ein ganzes Debugging Fenster auf einem Zweiten Bildschirm gemacht

, damit geht das Debuggen recht angenehm, kommt aber dennoch kommt das nicht an den Visual Studio Debugger ran.
Wenn ich keinen Zweiten Bildschirm zur Verfügung habe, habe ich den Aufrufstack und die Lokalen Variablen dennoch immer offen (Bei Anchor docking einfach als Tab beim Objektinspektor die lokalen variablen bzw. im Projektinspektor den Aufrufstack dazu getan, denn ich brauche eh nie beide Fenster auf einmal).
Früher habe ich auch mit Ausgaben gedebuggt, doch mit den Debugger Features geht es so viel besser, und grade deshalb finde ich es schade dass der GDB für Lazarus so wenig unterstützt.
Ich denke solche Abfragen brauchen recht viel Ressourcen, und dies würde dann den effizienten Code, welcher fpc erzeugt wieder zu nicht machen.
Nur schon Bereichsprüfungen, so wie -Cr, verbrauchen Leistung.
Beim debuggen ist mir die Performance doch egal, da will ich möglichst viele Informationen haben, egal ob das Programm dafür doppelt so lange pro operation braucht
Edit: Ich muss mich korrigieren, Records und Globale Variablen lassen sich doch anzeigen (Globale Variablen mittels überwachte ausdrücke), Bei Records war bisher nur das Problem dass ich das Fenster nie groß genug hatte um das zu sehen, da die Elemente hintereinander aufgelistet sind.
Edit 2: Habe sogar grade per Zufall rausgefunden dass man über die Überwachten Ausdrücke doch sogar Klassen sich anzeigen lassen kann, ist aber ziemlich versteckt, kam grade nur per Zufall drauf. Also von der Funktionalität doch besser als erwartet, allerdings extrem verwirrend strukturiert.
Ich denke ich werde mich mal eingehend mit allen Debugger Features auseinandersetzen und dann eventuell hier ein Tutorial dazu schreiben, da ich glaube viele Anfänger wissen nicht wie man richtig debuggt. (Außerdem bin ich aktuell sehr von den Debuggerfeatures überrascht, ich finde grade viele neue die ich vorher noch nicht kannte/vermisst habe, ich hätte mir das Fenster überwachte ausdrücke Früher mal anschauen sollen
