您的位置:首页 > 博客中心 > 数据库 >

使用gdb查看exit和_exit调用

时间:2022-03-13 23:51

通篇假设未曾使用过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
显示如图:
gxlsystem.com,布布扣
gxlsystem.com,布布扣


有两个命令,一个是next,一个是step。next会跳到下一步,step会进入到这个函数中(相当于VS上的F10和F11) >> s
输入s手就可以跟踪了,接下来可以按照需求选择next或者step。
有一个便利的地方是,当输入一个命令后,直接按回车键,默认输入上一个命令。
退出调试 >> quit


如果是第一次调试,往往都会缺一些环境:
gxlsystem.com,布布扣

解决方案:
切换成root用户,将use后的部分复制,即 debuginfo-install ... 然后在终端上粘贴运行,就如同yum install。
如果准备详细学习gdb,可以参考下边的博客,前面几章用于入门还是不错的,后面可以慢慢看,慢慢提高。



热门排行

今日推荐

热门手游