当前位置: 技术问答>linux和unix
关于gdb的问题。请教高手~~
来源: 互联网 发布时间:2015-09-26
本文导语: 在一个函数中如何查看一个全局变量的值?比如一个全局数组? 如下: #include #include #define n 5 void init(char dst[][n]) { //init a array } void test(char dst[][n]) { //do some op on array dst } int main(int argc,char** argv)...
在一个函数中如何查看一个全局变量的值?比如一个全局数组?
如下:
#include
#include
#define n 5
void init(char dst[][n])
{
//init a array
}
void test(char dst[][n])
{
//do some op on array dst
}
int main(int argc,char** argv)
{
char src[n][n];
init(src);
test(src);
return EXIT_SUCCESS;
}
当程序进入到test中后,我想监视数组src怎么办?
display src 报错
display dst 显示是个地址
还有如果在test中想查看某一个数组元素也不行(数组下标有宏中的符号)
如 :display dst[n-3][n-4] (莫非宏定义中的符号识不出来)
哪位大哥给解释解释吧,小弟正迷糊着呢,谢谢~~~~
如下:
#include
#include
#define n 5
void init(char dst[][n])
{
//init a array
}
void test(char dst[][n])
{
//do some op on array dst
}
int main(int argc,char** argv)
{
char src[n][n];
init(src);
test(src);
return EXIT_SUCCESS;
}
当程序进入到test中后,我想监视数组src怎么办?
display src 报错
display dst 显示是个地址
还有如果在test中想查看某一个数组元素也不行(数组下标有宏中的符号)
如 :display dst[n-3][n-4] (莫非宏定义中的符号识不出来)
哪位大哥给解释解释吧,小弟正迷糊着呢,谢谢~~~~
|
编译程序 加 -g 选项,这样可以用gdb调试。eg: gdb -g -o test test.c
用gdb装载程序 eg: gdb test
看程序源码,设置断点,用list看程序代码,用b 设置断点,如果要在20行设置断点就是"b 20"
执行程序, 用run 命令,当指定到断点时,程序即可停止。
用p [变量名称]查看变量的值,比如:"p i"
退出gdb
明白了吗?? ^_^
用gdb装载程序 eg: gdb test
看程序源码,设置断点,用list看程序代码,用b 设置断点,如果要在20行设置断点就是"b 20"
执行程序, 用run 命令,当指定到断点时,程序即可停止。
用p [变量名称]查看变量的值,比如:"p i"
退出gdb
明白了吗?? ^_^
|
print