vbdo · BYOK AI 编程
用 AI,把想法变成网站和应用

自带 API Key(BYOK),用自然语言完成 AI 建站与应用开发,体验 Vibe Coding。

立即体验 vbdo

GDB使用shell命令和make命令

GDB 中可以使用 shell 命令,也就是说可以实现 shell 中的功能,这样可以极大的提高我们调试程序的效率。GDB 中还可以使用 make 命令,这样就可以不退出 gdb 调试界也可以重新编译程序。

使用shell命令

gdb 中可以使用 Linux 中的 shell 命令,需要使用 gdb 中的 shell 命令实现 ,使用方法如下:

shell <command string>

<command string>表示的是 shell 中的命令,例如:

(gdb) shell ls
test  test.c
(gdb) shell cat test.c
#include <stdio.h>
#include <stdlib.h>
 
void func()
{
       char *sp = "hello";
       free(sp);
}
 
int main(void)
{
       func();
       return 0;
}
(gdb) shell cd .. && ls
09  test

在 gdb中与 shell 中的命令使用格式和方法基本上是相同的。

注意:调用 Linux 的 shell 来执行 <command string>,环境变量 SHELL 中定义的 Linux 的 shell 将会被用来执行<command string>,如果 SHELL 中没有定义,就会使用 Linux 标准。

使用 make 命令

在 gdb 中执行 make 命令来重建自己的程序,make 命令的使用方法如下:

make <make-args>

其中 <make-args>表示参数,例如:

(gdb) shell ls
makefile  test.c
(gdb) make
cc  -c -o test.o test.c
cc -g -o test.o test
(gdb) make clean
rm -rf *.o test
(gdb) shell make      
cc  -c -o test.o test.c
cc -g -o test.o test

用指定参数执行 make 程序和 shell make <make-args> 相同。

注意:使用 make 命令的前提是当前目录下有 Makefile 文件,并且 Makefile 文件记录了程序重建的规则命令,如果没有 Makefile, make 命令就不会执行。