Я пытаюсь напечатать адрес переменной с помощью lldb
. Однако вызов print &(myVar)
печатает содержимое переменной вместо адреса.lldb: Печать адреса переменной
(lldb) print &(myVar)
(const string *) $18 = "hello"
То же самое для expression &(myVar)
.
(lldb) expression &(myVar)
(const string *) $19 = "hello"
Я также попытался expression
«s -L
вариант:
(lldb) expression -L -- &(myVar)
0x00000000021aea80: (const string *) $20 = "hello"
(lldb) expression -L -- myVar
0x0000000002a15430: (std::string) $23 = "hello"
Однако адрес, выводимый изменяется каждый раз я взываю expression -L
. Поэтому я предполагаю, что он не соответствует адресу переменной в памяти.
Как получить адрес переменной в памяти?
(я использую lldb 3.4)
Спасибо за подробный ответ! –