Ich versuche, die Adresse einer Variablen mit lldb
zu drucken. Wenn Sie jedoch print &(myVar)
aufrufen, wird der Inhalt der Variablen anstelle ihrer Adresse gedruckt.lldb: Drucken der Adresse einer Variablen
(lldb) print &(myVar)
(const string *) $18 = "hello"
Gleiches für expression &(myVar)
.
(lldb) expression &(myVar)
(const string *) $19 = "hello"
Ich habe auch versucht expression
‚s -L
Option:
(lldb) expression -L -- &(myVar)
0x00000000021aea80: (const string *) $20 = "hello"
(lldb) expression -L -- myVar
0x0000000002a15430: (std::string) $23 = "hello"
jedoch die Adresse ändert jedes Mal, wenn ich expression -L
aufrufen ausgegeben. Daher nehme ich an, dass es nicht mit der Adresse der Variablen im Speicher übereinstimmt.
Wie bekomme ich die Adresse der Variablen in den Speicher?
(ich benutze LLDB 3.4)
Danke für die ausführliche Antwort! –