使用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 命令就不会执行。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/23647.html