gdb debug nfa.c

在linux上安装gdb

wget http://ftp.gnu.org/gnu/gdb/gdb-5.3.tar.gz 下载
tar -zxf ggdb-5.3.tar.gz 解压
cd ggdb-5.3 进入目录
./configure –prefix=/usr/local/gdb-5.3 选择安装路径
make
make install 编译安装

编译并执行nfa.c(用DFA实现正则表达式)

gcc nfa.c -o nfa -g (-g代表将源代码信息编译到可执行文件中。)
./nfa ab*a aba aa bba
aba aa (输出匹配到的字符串)

用gdb调试nfa.c

(gdb)file nfa 加载被调试程序
(gdb)r 运行程序
(gdb)b main 在main函数下设置断点
(gdb)s 执行下一行代码
(gdb)p arg 查看变量arg的值
(gdb)c 继续执行被调试程序
(gdb)d 删除断点
(gdb)q 退出
(gdb)set args ab*a aba aa ab

设置main函数入口参数int main(int argc, char **argv)
argc=5
argv[0]=nfa
argv[1]=ab*a
argv[2]=aba
argv[3]=aa
argv[4]=ab

nfa.c : https://swtch.com/~rsc/regexp/nfa.c.txt

猜你喜欢

转载自blog.csdn.net/qq_36336003/article/details/80199171
GDB