1
Ich möchte auf einem lokalen Etikett in NASM Assembly-Code mit GDB brechen.Brechen Sie am lokalen Etikett mit GDB für NASM-Assembly
die folgenden Befehl Ausbeuten die Ausgabe:
(gdb) break *start.label1 + 217
Attempt to extract a component of a value that is not a structure.
Hier mein Code etwas geht:
global _start
_start:
...
.label1:
...
Wie kann ich auf lokalen .label1
brechen?
Um bei einem Label zu brechen, sollten Sie es nicht dereferenzieren 'b start.label1', genau wie' b main'. Vielleicht würde 'b (start.label1 + 217)' funktionieren. Bei einer Dereferenzierung benötigen Sie möglicherweise 'b * (start.label1 + 217) '. Aber IDK, wenn gdb '.' innerhalb von Symbolnamen unterstützt, was' nm' sagt, ist der tatsächliche Symbolname. Sie müssen möglicherweise "b * 0x ..." und kopieren Sie die Adresse. Entschuldigung, habe keine Zeit eine Antwort zu schreiben. –
Vielen Dank für Ihre Vorschläge :) – Shuzheng
Setzen Sie die Bezeichnung mit der Periode innerhalb von Hochkommas in den Ausdruck. Etwas wie 'b *' start.label1 '+ 217' –