我有一个研究人员编写的现有的'c'代码,我想对它进行调试。这个项目是用MAkE编译的。我试图使用gdb调试器进行调试,假设'A'文件夹包含''。myproject.c
', 'myproject
', MAKEFILE
和一些子文件夹B,C,D等,现在我调试文件gdb myproject。我在函数1处创建了断点。这个 function 1
位于一个文件中 x.c
在文件夹B中,当我通过 step
命令,它正在执行整个函数,但我想逐行查看。
当我传递步骤命令时,它正在执行整个函数,但我想逐行查看。
这意味着 x.c
编译时没有调试信息(没有 -g
标志)。)
Make文件已经包含了-g标志
什么是 Makefile
是有些无关紧要的。重要的是命令行中的 make
构造来编译 x.c
.
运转 make clean all
. 这应该(假设适当的 Makefile
) 重建整个程序,重新编译 x.c
. 现在 样子 在编译时使用的命令行上的 x.c
. 它不会有 -g
选项。你需要修改 Makefile
所以它是。