Code: Select all
0xFFFFFFCode: Select all
(gdb) disas /m 0,0xFFFFFF
Für den Kontext führe ich die ARM-Version von GDB (obwohl nur GDB das gleiche Verhalten aufweist) auf einer Objektdatei aus, die aus einer C++-Datei kompiliert wurde. Zum Beispiel:
Code: Select all
arm-none-eabi-gdb --quiet build/L4/02_base/rtc.o -iex="set osabi none" -ex="set architecture armv4" -ex="set pagination off" -ex="set verbose off"
Code: Select all
(gdb) disas /m _ZL8int8_MAX,+0xFFFFFF
Wie kann ich den GDB-Ausgabequellcode zusammen mit Assemblerzeilen erstellen, wenn ich einen Adressbereich spezifiziere?
BEARBEITEN:
Ich habe festgestellt, dass GDB eine Ausgabe für C-Code mit eingefügtem Code erzeugt (die STM-HAL-Bibliothek ist in C geschrieben) und daher ihre .c-Quelle zerlegt Dateien verfügen über Quellcode (kompiliert mit arm-none-eabi-gcc, gleichzeitig mit der Kompilierung des restlichen Codes). Allerdings ist unser Code in C++ geschrieben (und mit arm-none-eabi-g++ kompiliert) und es ist kein Quellcode in die Disassemblierung eingefügt. Es kann ein Problem sein oder auch nicht, ich muss mich später damit befassen.
Mobile version