gdb练习3——是否进入带调试信息的函数

测试代码

#include <stdio.h>

int func() {
    return 3;
}

int main (int argc, char *argv[]) {
    int a = 0;
    
    a = func();
    printf("%d\n", a);
    
    return 0;
}

测试过程

使用next命令(缩写为n)不进入函数

gdb会等函数执行完,再显示下一行要执行的程序代码
在这里插入图片描述

使用step命令(缩写为s)可以进入函数(函数必须有调试信息)

可以看到,gdb进入了func函数
在这里插入图片描述

默认情况下,gdb不会进入不带调试信息的函数

首先验证一下,printf是不是带调试信息呢?使用info functions命令
在这里插入图片描述
可以看到,printf是不带调试信息的。那么,gdb就不会进入printf函数
可以使用set step-mode on,这样gdb就不会跳过没有调试信息的函数

猜你喜欢

转载自blog.csdn.net/CSDN_dzh/article/details/84591360
今日推荐