当前位置: 技术问答>linux和unix
gdb到底怎么用哦....
来源: 互联网 发布时间:2016-01-22
本文导语: ----------------- 清单 一个有错误的 C 源程序 bugging.c ----------------- #include #include static char buff [256]; static char* string; int main () { printf ("Please input a string: "); gets (string); printf ("nYour string...
-----------------
清单 一个有错误的 C 源程序 bugging.c
-----------------
#include
#include
static char buff [256];
static char* string;
int main ()
{
printf ("Please input a string: ");
gets (string);
printf ("nYour string is: %sn", string);
}
-----------------
上面这个程序非常简单,其目的是接受用户的输入,然后将用户的输入打印出来。该程序使用了
一个未经过初始化的字符串地址 string,因此,编译并运行之后,将出现 Segment Fault 错误:
$ gcc -o bugging -g bugging.c
$ ./bugging
Please input a string: asfd
Segmentation fault (core dumped)
下面的调试步骤是按照书上说明的进行的哦 还是不行的
1.gdb bugging 装入 bugging 可执行文件;
2.run 执行装入的 bugging 命令;
3.where 查看程序出错的地方;
4.list 查看调用 gets 函数附近的代码;
5.print string 查看 string 的值;
6.break 11 第 11 行处设置断点;
7.start 程序重新运行到第 11 行处停止,这时,我们可以用 set variable 命令修改 string 的取值;(这一部不晓得怎么做)
8.continue 继续运行,将看到正确的程序运行结果
就是那个第七步到底怎么做哦...程序要求我输入string的时候,我输入了之后 程序就挂了 关了,我再set string "***" 就没用了呀...
还有这个怎么set哦,还有在什么时候set哦
清单 一个有错误的 C 源程序 bugging.c
-----------------
#include
#include
static char buff [256];
static char* string;
int main ()
{
printf ("Please input a string: ");
gets (string);
printf ("nYour string is: %sn", string);
}
-----------------
上面这个程序非常简单,其目的是接受用户的输入,然后将用户的输入打印出来。该程序使用了
一个未经过初始化的字符串地址 string,因此,编译并运行之后,将出现 Segment Fault 错误:
$ gcc -o bugging -g bugging.c
$ ./bugging
Please input a string: asfd
Segmentation fault (core dumped)
下面的调试步骤是按照书上说明的进行的哦 还是不行的
1.gdb bugging 装入 bugging 可执行文件;
2.run 执行装入的 bugging 命令;
3.where 查看程序出错的地方;
4.list 查看调用 gets 函数附近的代码;
5.print string 查看 string 的值;
6.break 11 第 11 行处设置断点;
7.start 程序重新运行到第 11 行处停止,这时,我们可以用 set variable 命令修改 string 的取值;(这一部不晓得怎么做)
8.continue 继续运行,将看到正确的程序运行结果
就是那个第七步到底怎么做哦...程序要求我输入string的时候,我输入了之后 程序就挂了 关了,我再set string "***" 就没用了呀...
还有这个怎么set哦,还有在什么时候set哦
|
你只给个字符串指针 没分配空间
当然就段错误了啊
当然就段错误了啊
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。