当我在做“Learn C The Hard Way”的例子时,我心想:
我设置 int a = 10; 但实际值 10 在哪里?我可以在程序运行时从外部手动访问它吗?
这是一个用于演示目的的小 C 代码片段:
int main (int argc, char const* argv[]) {
int a = 10;
int b = 5;
int c = a + b;
return 0;
}
我打开了GNU 项目调试器(GDB) 并输入:
break main
run
next 2
据我了解0x7fff5bffb04是. 然后我使用hexdump -C /dev/mem系统调用将整个内存转储到终端中。int c
现在的问题是我在哪里可以找到这个巨大的十六进制转储中的变量 c ?我希望给定地址,0x7fff5bffb04
我可以找到它的值,即15
. 另外,奖金问题, hexdump -C中的每一列代表什么?(我知道最后一列是 ASCII 表示)