Finden Adresse einer lokalen Variablen in C mit GDB
Sagen, ich habe einige C-code, der geht entlang der Linien von:
void fun_1(unsigned int *Alter)
[...]
int main() { unsigned int Alter[24]; }
In GDB, wie finde ich die Adresse des Alters?
- "Suche nach Adresse-Funktion" -
age
ist nicht eine Funktion in Ihrem code-snippet. - Welches Alter? Würde nicht
p &age
arbeiten, nachdem Sie die eine der Funktionen? Beide habenage
. - Plz, es gibt eine Menge von Websites, die über einfache gdb-Befehle gibt. Versuchen Sie google vor der post am SO. ftp.gnu.org/pub/old-gnu/Manuals/gdb/html_node/gdb_109.html
- Sind Sie interessiert an der Adresse der lokalen Variablen
age
, die nur einen Zeiger oder die Adresse, dieage
Punkte zu?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finden, Adresse ist so einfach wie:
Beide
age
s sind nicht das gleiche im Fall, wenn Sie nicht bewusst sind. Ein lokal ist inmain
und anderen lokalenfun_1()
. So, es sei denn, Sie übergeben die Adresse vonage
immain
zufun_1()
Sie nicht gehen, um die gleiche Adresse. Stellen Sie einfach eine Pause im main und finden Sie die Adresse von Alter.