Sto provando a stampare l'indirizzo di una variabile con lldb
. Tuttavia, chiamando print &(myVar)
stampa il contenuto della variabile invece del suo indirizzo.lldb: Stampa dell'indirizzo di una variabile
(lldb) print &(myVar)
(const string *) $18 = "hello"
Uguale a expression &(myVar)
.
(lldb) expression &(myVar)
(const string *) $19 = "hello"
Ho provato anche expression
s' -L
opzione:
(lldb) expression -L -- &(myVar)
0x00000000021aea80: (const string *) $20 = "hello"
(lldb) expression -L -- myVar
0x0000000002a15430: (std::string) $23 = "hello"
Tuttavia l'indirizzo cambia emesso ogni volta invoco expression -L
. Quindi sto assumendo che non corrisponda all'indirizzo della variabile in memoria.
Come si ottiene l'indirizzo della variabile in memoria?
(io uso lldb 3.4)
Grazie per la risposta dettagliata! –