首页 > 代码库 > 使用gdb查看exit和_exit调用
使用gdb查看exit和_exit调用
通篇假设未曾使用过gdb,一般的发行版都会携带这个工具,要是没有,只能自己找找,如何安装了。
本文并未详细说明exit(_exit)里边详细过程,只是表述如何进入。
如果是第一次调试,往往都会缺一些环境:
测试代码如下:
#include <stdio.h>
#include <stdlib.h>
void func()
{
printf("atexit ");
}
int main(int argc, char* argv[])
{
atexit(func);
printf("stdio ");
printf("exit ");
exit(0);
}
将其输入test.cc当中
编译
>> g++ -g -o test test.cc
启动gdb调试
>> gdb test
显示下代码输入list或者首字母l
>> l
显示如图:
在第19行处打上断点,输入break或者b
>> break 19
运行
>> run
运行之后,运行到断点处暂停,等待输入新的命令(如果不是显示如图,可以查看本文最后部分)
有两个命令,一个是next,一个是step。next会跳到下一步,step会进入到这个函数中(相当于VS上的F10和F11)
>> s
输入s手就可以跟踪了,接下来可以按照需求选择next或者step。
有一个便利的地方是,当输入一个命令后,直接按回车键,默认输入上一个命令。
退出调试
>> quit
如果是第一次调试,往往都会缺一些环境:
解决方案:
切换成root用户,将use后的部分复制,即 debuginfo-install ...
然后在终端上粘贴运行,就如同yum install。
如果准备详细学习gdb,可以参考下边的博客,前面几章用于入门还是不错的,后面可以慢慢看,慢慢提高。
http://blog.csdn.net/haoel/article/details/2879
使用gdb查看exit和_exit调用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。