如果我有这个小C代码(我用gcc -m32 -o code code.c
编译):
int main(){
char tab[3];
tab[0]='a';
tab[1]='b';
tab[2]='c';
return 0;
}
如何使用GDB(或其他程序)来获得堆栈的一般概述,如:
ADRESSES VALUES
0xbffff260 0x61
0xbffff261 0x62
0xbffff262 0x63
谢谢
p.s: a,b,c的值分别为0x61,0x62,0x63。
答案 0 :(得分:0)
要显示本地堆栈的变量,请尝试使用gdb命令:
where
如果您想要程序中存在的每个帧的变量,请尝试使用:
where full
然后,如果您想选择特定的框架使用:
frame <frame#>
另外,尝试使用-g标志进行编译。
gcc -g code.c -o code
所以你可以在gdb中调试。