This question somehow relates to my previous question, but now I have a binary which is not stripped.
Let's say I have the following code snippet
QString my_variable("almafa");
qDebug() << my_variable;
Before calling the <<
operator I expect that either rsi
or rdi
to contain the address of my_variable
. Correct me if I am wrong.
0x0000000000400aca <+100>: lea -0x60(%rbp),%rdx
0x0000000000400ace <+104>: lea -0x50(%rbp),%rax
0x0000000000400ad2 <+108>: mov %rdx,%rsi
0x0000000000400ad5 <+111>: mov %rax,%rdi
0x0000000000400ad8 <+114>: callq 0x400d40 <QDebug::operator<<(QString const&)>
strings a.out | grep my_variable
returns my_variable
, so it is present in the executable. Is it somehow possible to ask gdb
(or any other linux debugger) what is the variable name which belongs to a given address?
my_variable
is recognized by gdb
since command print my_variable
is working.