假设我有我的主文件:main.c,与file1.c和file2.c链接,其中file1和file2包含它们的头文件:file1.h,file2.h
我把它们编译在一起,是这样的:
gcc main.c file1.c file2.c
这将创建要运行的可执行文件./a.out
。
在 GDB 中,如何在 main.c 中设置断点?我试过了
b main.c
这给了我这个输出:
Make break-point pending on future shared library load? yes or no
我对此做出了yes
回应,但即使在我说b 232
之后,它也从未在任何地方设置断点:行号,我什至尝试了b main 232
和b main.c 232
但这些工作都没有。
你想要的是以下内容(参见 GDB 文档(:
break main.c:232
并且不要忘记使用-g
进行编译,否则生成的程序中将不会出现行号信息。
作为@MarcoBonelli答案的替代方法,您可以使用
break main.c:main
或者由于项目中不能有多个main
函数,因此您可以简单地使用
break main
这样做的优点是不必搜索行号。