![]() |
Diskussion: Debugging in Delphi für Anfänger und Fortgeschr.
Hallo,
ich habe ein kleines Tutorial zum Debuggen erstellt. ![]() Bitte dort keine Diskussionen, dazu ist dieses Thema da ;-) Danke |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Also Respekt. Bisher das Umfangreichste und ausführlichste, was ich zum Thema Debuggen gesehen habe. Auch als "alter Delphi-Veteran" hab ich trotzdem noch neue Sachen gelernt. Also nach mal ein Dank an alle beteiligten und wir hoffen einfach, das dieses Tutorial die gewünschte Zielgruppe erreicht.
|
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Respekt eine gute Anleitung. :thumb:
Was mir noch abgeht ist wie man eine dll debugen kann. |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Zitat:
Zitat:
Ich habe zwar noch viele Ideen, was man noch so alles in das Tutorial einbauen könnte, aber das kann man ja nachreichen. Einige Punkte sind z.B.
Aber dieses Tutorial sollte für den Anfang erst mal reichen ;-) |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Dieses Tutorial hat schon jetzt seinen festen Platz auf unserer CD für Kassel verdient. :thumb: Und das selbst ohne diese überaus interessanten Themen, die Du für die Ergänzung Deines Tutorials ansprichst.
|
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Zitat:
Zitat:
Ich werde voraussichtlich im April wieder etwas Zeit haben, das Tutorial zu ergänzen. DLL Debugging wurde von Schuster angesprochen. |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Zitat:
|
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Hallo Ihr!
Zu diesem Thema frage ich, wie ich meine Delphi IDE dazu bringe, auf Quelltextebene zu debuggen, wenn eine Exception aufgetreten ist. Mein D7 zeigt in diesem Fall nicht mal die fehlerhafte Zeile an. Manchmal ist es auch praktisch, den Programmlauf bis zum Eintritt der Exception zu verfolgen. Welche Eistellungen muss ich da in der IDE in welchen Menüs/Registerkarten vornehmen? Auf jeden Fall Danke für das Tutorial! schöni |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Zitat:
Ich glaube aber das log4d nicht in dieses Tutorial gehört. (Das ist so komplex, da kann man ein eigenes Tutorial draus machen). Im Debug Tutorial steht Das Ereignisprotokoll zeigt Prozessbotschaften, Haltepunktbotschaften, OutputDebugString-Botschaften und Fensterbotschaften an. Ereignisprotokoll, Haltepunktbotschaften und OutputDebugString werden im Tutorial schon beschrieben. Ich könnte höchstens noch etwas allgemeiner auf Loging eingehen und dabei erwähnen, dass es z.B. log4d gibt. |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Zitat:
Schau mal im Tutorial bei
|
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Hallo,
klasse Tutorial. Könntest du das Ganze auch in elektronischer Form zugänglich machen? Als PDF oder doc oder... Wäre extren nett. Danke Rainer |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Zitat:
![]() Diesen Button findest Du auf jeder Seite rechts oben. Wenn Du am 02.04.2005 auf die Delphi Tage in Kassel kommst, wist du das Tutorial auf auf der CD haben :mrgreen: |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Hoi, vielleicht sollte man noch erwähnung, dass Overseer ein nettes freies Tool ist, was praktisch beim Debuggen ist.
Jeder sollte es haben ;) Download: ![]() Overseer ist ein Programm was aehnlich wie Raize CodeSite ist. Wer genauere Infos haben moechte sollte mal bei ![]() Raize Codesite Informationen: ![]() Viel Spass beim debuggen wuenscht der neogen :???: |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Ich werde eine kleine Linkliste zu Tools rund ums Debuggen an das Tutorial anhängen.
|
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Hallo MaBuSE!
Danke erst mal für den Handbuch-Tipp. Hab das grad durchgelesen und in Delphi - Debug Info AN - Lokale Symbole AN - Referenzinfo AN - Nur Definitionen AUS - Assertions AN eingestellt. Debuginfo war bei mir AUS. Die ersten 3 Einstellungen sind zwingend, damit der Debugger überhaupt ins Programm geht. Anders ist es, wenn ich Assert verwende. Dann reicht Debuginfo AN völlig aus und der Debugger hält auf Assert. Nun meine Frage, die ich mit dem Handbuchstudium nicht klären konnte: In meinem unten stehenden Quelltext hält der Debugger ohne Verwendung von Assert in der .dpr Datei auf der Run-Zeile. Die Exception tritt jedoch bereits in CreateForm(...) auf. Wie bewege ich den Debugger dazu, in meinem Fall (siehe unten) auf ShowPanel stehen zu bleiben. Wie gesagt, wenn ich vor ShowPanel die Assert-Anweisung habe, hält der Debugger dort, ohne Assert erst auf Run. Danach kann ich mein Programm über Strg+F2 beenden und dann Einzelschritt machen. Aber ich hätte eben gerne bei normalem Programmstart, das der Debugger auf der fehlerhaten Zeile und nicht erst danach hält. Von der Möglichkeit, Haltepunkte explizit zu setzen mal abgesehen.
Delphi-Quellcode:
Hast Du MaBuSE, oder ein anderer von Euch nen heißen Tipp. Danke
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } Panel: TPanel; procedure ShowPanel; end; var Form1: TForm1; implementation {$R *.dfm} { TForm1 } procedure TForm1.ShowPanel; begin //Wenn ich Assert verwende hält der Debugger auf der Assert-Zeile Panel.Show; //die Zeile mit der Exception (Panel nicht erzeugt) end; procedure TForm1.FormCreate(Sender: TObject); begin ShowPanel; end; end. schöni |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Vielen Dank für das dolle Tutorial, besonders als Schüler kann man doch noch einiges zum Debuggen lernen.
Super gemacht :thumb: |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Hallo,
was mir noch fehlt ist ein Referenz der Tastenkombinationen (Schnellübersicht). Rainer |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Noch mal ein Tip hier:
![]() Das Tool hilft auch ziemlich beim Debuggen, doch es ist leider Shareware. Gruss, neogen 8) |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Der Fehler tritt auf, der Debugger springt in die nächste Zeile. Da bei einem Fehler die Proc abgebrochen wird, ist die nächste Zeile in der aufrufenden Proc. In Deinem Fall Application.Run Lösung: (ich glaube das geht aber in der Personal nicht) Aktiviere "Mit Debug DCU" in den Projektoptionen / Compiler Dann springt der Debugger in die Controls.pas Im Dialogfenster Aufruf Stack kann man dann sehen, welche "eigene" Funktion das aufgerufen hat. Screenshot im Anhang. |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
In der aktuellen Toolbox gibt es auch einen mehrseitigen Artikel über das Debuggen in Delphi.
Der Artikel heißt: "Debuggen mit Delphi" Inhaltsverzeichnis des aktuellen Heftes: ![]() Siehe auch: ![]() oder das ![]() |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Zitat:
Ansonsten gutes Tutorial ;) :thumb: |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Zitat:
|
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Dieser Thread ist zwar schon etwas älter, ich will ihn aber trotzdem "aufwärmen".
Wird denn das Tutorial, das im ersten Beitrag erwähnt wurde noch weiterentwickelt? Oder kann man sonst irgendwo ein Tutorial zu RemoteDebugging bekommen? |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Das würde mich auch interessieren...
|
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Hab grad an MaBuSE eine pn geschrieben.
Mal schauen, was er dazu meint. |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Bin mal gespannt...
Das Remote-Debugging könnte ich nämlich gerade mal sehr gut gebrauchen. :-D |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Zitat:
ja ich werde das Tutorial irgendwann erweitern. Leider habe ich im Moment gar keine Zeit. Ich bin im Moment auch nur wenig hier im Forum unterwegs. :-( Wenn meine Projekte es zulassen werde ich mich wieder mit dem Tutorial beschäftigen. (und auch mit anderen Dingen, die ich hier in die DP stellen will. ;-) ) Tut mir leid. Liebe Grüße MaBuSE |
Re: Diskussion: Debugging in Delphi für Anfänger und Fortges
Ist recht einfach (vorausgesetzt man debug mit neuem comilat)...
den remotedugger auf dem Zielsystem installieren und starten dann die Comileroptionen wie im Tutorial von MaBuSe beschrieben einstellen (Stack frames, MAP File etc.). Das Ausgabeverzeichnis (unter Projekt -> Optionen) sollte dort hinzeigen wo die exe auch erstellt werden soll (logisch) - Also z.B. "\\Rechner1\c$\testapp\" und dann muss noch der Haken bei Fehlersuche auf externem System (unter Start -> Parameter... -> Extern) rein, in Externer Host muss die IP oder der Horstname des Rechner und Externer Pfad gibt an wo der remotedebugger die EXE findet - also aus Sicht des Zielrechners (C:\testapp\myProject.exe). Optional kann man auch Parameter vergeben. Man kann aber auch eine bereits laufende Anwendung debuggen indem man Mit Prozeß verbinden unter Start bei Externen Rechner den Rechner angibt wo der remotedebugger läuft... Shalom @MaBuSe: Danke für das tolle Tutorial; das war sehr hilfreich :hello: :thumb: |
AW: Diskussion: Debugging in Delphi für Anfänger und Fortgeschr.
Hallo
Wow 9 Jahre ist die Diskussion alt. Ich habe eine frage zu Delphi XE und Ctrl-Alt-M damit soll man Module aufzulisten. Das funktioniert leider nicht Wie kann man das Fenster sonst noch öffnen? Hintergrund ich möchte eine Dll debuggen |
AW: Diskussion: Debugging in Delphi für Anfänger und Fortgeschr.
Liste der Anhänge anzeigen (Anzahl: 1)
Klassich mit der Maus: Menü Ansicht -> Debug Fenster -> Module. Vergleiche dazu den Anhang.
Sherlock |
AW: Diskussion: Debugging in Delphi für Anfänger und Fortgeschr.
Danke für die schnelle Antwort
Das habe ich leider nicht, weil ich die Starter XE Version habe. :( |
AW: Diskussion: Debugging in Delphi für Anfänger und Fortgeschr.
Ah, ja dann biste gekniffen. :(
Sherlock |
AW: Diskussion: Debugging in Delphi für Anfänger und Fortgeschr.
|
AW: Diskussion: Debugging in Delphi für Anfänger und Fortgeschr.
Ich sehe bei mir kein Unterschied zwischen den Tasten F8 und F9, die machen immer das gleiche. So bin schon so ziemlich am Anfang des Tutorials stehen geblieben. :|
|
AW: Diskussion: Debugging in Delphi für Anfänger und Fortgeschr.
Ich weiß leider nicht mehr, wie das bei früheren Delphi-Versionen war, aber bei D2009 bist startet F9 das Programm im Debug-Modus ganz normal, F8 dagegen springt zum ersten auführbaren Befehl in der DPR-Datei, also dem Projekt-Quellcode.
|
AW: Diskussion: Debugging in Delphi für Anfänger und Fortgeschr.
Das war schon immer so. Diese Befehle gibt es seit Delphi 1:
F9 - Programm einfach im Debugger ausführen Strg + F9 - kompilieren F8 - Die nächste Prozedur ausführen ohne hineinzudebuggen (es sei denn es ist ein Haltepunkt irgendwo in diesem Aufruf) F7 - In die nächste Prozedur hineindebuggen F4 - Bis zum Cursor ausführen und in der Zeile anhalten Strg + F2 - Programmausführung beenden Mit Delphi 2 kam dann noch Shift + F7 dazu um zur nächsten Quelltextzeile zu debuggen. Mit Delphi 5 kam Shift + F8 hinzu um bis zur Rückkehr aus der Prozedur zu debuggen. Mit der neuen IDE von Delphi 2005 kamen: Strg + Shift + F9 - Ausführen ohne Debugger Shift + F9 - Projekt erzeugen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz