Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   IDE-Debugger Verständnisfrage (https://www.delphipraxis.net/167956-ide-debugger-verstaendnisfrage.html)

schöni 27. Apr 2012 08:10

IDE-Debugger Verständnisfrage
 
Hallo,

ich beschäftige mich grad mit dem Debugger der IDE und da speziell mit dem Aufruf Stack. Ich habe folgende Liste:

Delphi-Quellcode:
Unit1.TForm1.Button1Click($A40E70)
:0043970e TControl.Click + $6A
:0043cf4e TWinControl.WndProc + $49E
:004287c1 TButtonControl.WndProc + $71
:0043d084 DoControlMsg + $28
:0043cf4e TWinControl.WndProc + $49E
:0044ce1e TCustomForm.WndProc + $4C6
:0043c6d7 TWinControl.MainWndProc + $2F
:0041afa6 StdWndProc + $16
:77d13a5f ; C:\WINDOWS\system32\USER32.dll
:77d13b2e ; C:\WINDOWS\system32\USER32.dll
:77d15e1d ; C:\WINDOWS\system32\USER32.dll
:77d15e7e USER32.SendMessageW + 0x47
:77d3dd18 ; C:\WINDOWS\system32\USER32.dll
:77d2f480 USER32.DefDlgProcA + 0xa6
:77d13a5f ; C:\WINDOWS\system32\USER32.dll
:77d13b2e ; C:\WINDOWS\system32\USER32.dll
:77d17419 USER32.CharLowerBuffW + 0x98
:77d2ba3f USER32.CallWindowProcA + 0x19
:0043d030 TWinControl.DefaultHandler + $DC
:0043cf4e TWinControl.WndProc + $49E
:004287c1 TButtonControl.WndProc + $71
:0041afa6 StdWndProc + $16
:77d13a5f ; C:\WINDOWS\system32\USER32.dll
:77d13b2e ; C:\WINDOWS\system32\USER32.dll
:77d13d6a ; C:\WINDOWS\system32\USER32.dll
Meine Frage ist:

Was bedeuten die hexadezimalen Zahlen am Ende dieser Zeilen. Wenn das irgendwelche Offsets sind, dann wohin? Die genannte Funktion/Prozedur/Methode steht doch an der am Zeilenanfang aufgeführten Adresse?

.

himitsu 27. Apr 2012 08:39

AW: IDE-Debugger Verständnisfrage
 
:0043970e TControl.Click + $6A

Codeadresse (müßte die Rückprungadresse sein, also wo der Code dann ausgeführt wird)
erkannte/vermutete Prozedur (falls ermittelbar, also entsprechende Debuginfos gefunden) und eventuell noch mit Dateinamen der DLL/BPL
und eventuell noch ein Codeoffset zur Prozedur (Codeadresse minus Startadresse der Prozedur)


und dann von oben nach unten
- oben das Aktuellste (wo du grade bist)

Sollte ein Stackframe fehlen, dann wird die entsprechende Prozedur eventuell nicht aufgelistet, bzw. die Auflistung des Stacktrace bricht dort ab.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz