disassemblierten ASM-Code darstellen

Forum für alles rund um die MSEide und MSEgui
Antworten
mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

disassemblierten ASM-Code darstellen

Beitrag von mschnell »

Wenn ich mich recht erinnere, kann MSEGUI (wie Delphi) am Breakpoint disassemblierten ASM-Code darstellen.
Geht das nur bei 32 und 64 Bit PCs Windows und Linux oder auch bei anderen Systemen wie Mac, Arm, ...

Das hätte ich gern auch für Lazarus ! Gibt es da ein Projekt ?

-Michael

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: disassemblierten ASM-Code darstellen

Beitrag von Euklid »

mschnell hat geschrieben:Wenn ich mich recht erinnere, kann MSEGUI (wie Delphi) am Breakpoint disassemblierten ASM-Code darstellen.
Geht das nur bei 32 und 64 Bit PCs Windows und Linux oder auch bei anderen Systemen wie Mac, Arm, ...

Das hätte ich gern auch für Lazarus ! Gibt es da ein Projekt ?
Lazarus kann ASM-Code zwar noch nicht "zur Laufzeit" darstellen, aber es kann den Assembler-Code in eine externe, kommentierte Datei schreiben, die du dann untersuchen kannst.

Die Datei enthält neben den eigentlichen Assembler-Befehlen auch, auskommentiert, die zugehörigen Pascal-Befehle, die an der entsprechenden Stelle umgesetzt werden.

Damit Lazarus die genannten ASM-Dateien erstellt, muss in den Compilereinstellungen --> Andere --> Benutzerdefinierte Einstellungen die Compileroption -al eingetragen werden.

Viele Grüße, Euklid

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: disassemblierten ASM-Code darstellen

Beitrag von mse »

MSEide benützt gdb Funktionen um zu disassemblieren. Diese Funktionen stehen unter allen gdb Plattformen zur Verfügung.
Der Vorteil der just in time Disassemblierung gegenüber der Verwendung der kompilergenerierten Dateien ist, dass es auch in fremden Bibliotheken (beispielsweise Betriebssystem Routinen) funktioniert.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: disassemblierten ASM-Code darstellen

Beitrag von mschnell »

Kann man das nicht als "plugin" oder sonst wie in Lazarus hineinbekommen ?

-Michael

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: disassemblierten ASM-Code darstellen

Beitrag von Hitman »

Muss doch nicht als Plugin sein. Da Lazarus OpenSource ist, kann man das auch gleich direkt implementieren (was wohl auch um einiges einfacher wäre ...).
Bisher hatte nur noch keiner Interesse und Zeit das umzusetzen. Du kannst gern der erste sein, der beides mitbringt ;)

Antworten