GDB设置step-mode

创建三个文件:test.c、add.c、add.h。对比step-mode 模式的差别。

test.c文件代码展示如下:

#include <stdio.h>
#include "add.h"
int main(void)
{
     int a = 10;
     int b = 20;
     int c = add(20,10);
     printf("%d/n",c);
     return 0;
}

add.c文件代码展示如下:

#include <stdio.h>
#include "add.h"
int add(int a,int b)
{
 return a + b;
}

add.h文件代码展示如下:

#ifndef ADD_H__
#define ADD_H__

int add(int a, int b);

#endif

编译文件:

gcc -c -g test.c
gcc -c add.c
gcc test.o add.o -o test

进入调试文件:

gdb test

使用step-mode调试程序

(gdb) show step-mode
Mode of the step operation is off.

(gdb) run
Starting program: /home/wjc/test2/test
Breakpoint 1, main () at test.c:9

(gdb) s
9  int c = add(20,10);

(gdb) s
10  printf("%d/n",c);

(gdb) c
Continuing.
30
[Inferior 1 (process 3423) exited normally] (gdb) set step-mode on

(gdb) run
Starting program: /home/wjc/test2/test
Breakpoint 1, main () at test.c:9

(gdb) s
9  int c = add(20,10);

(gdb) s
0x000055555555468f in add ()

(gdb) c
Continuing.
30
[Inferior 1 (process 3424) exited normally]

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/23649.html

(0)
上一篇 2021年7月20日 11:19
下一篇 2021年7月20日 11:19

相关推荐

发表回复

登录后才能评论