Я пытаюсь прочитать расположение переменной в памяти во время выполнения, используя gdb в Eclipse, но не могу понять, какой из них является правильным адресом Вот вывод gdb при разборке моей программы:
main():
0000000000400634: push %rbp
0000000000400635: mov %rsp,%rbp
5 int i = 7;
0000000000400638: movl $0x7,-0x4(%rbp)
6 int j = 8;
000000000040063f: movl $0x8,-0x8(%rbp)
8 return 0;
0000000000400646: mov $0x0,%eax
9 }
и что я хочу, это местоположение переменной i во время выполнения.
Я предполагаю, что это -0x4 (% rbp), но тогда как мне определить, что это за адрес?
Должен ли я взять текущее значение rbp и вычесть из него 4?
В этом случае значение внутри rbp равно 0x7fffffffe250.
Таким образом, будет ли расположение i в памяти во время выполнения 0x7fffffffe250 - 0x4?
Или это просто 0x7fffffffe250?