我有一个用C ++编写的unix软件,它可以通过常规./configure; make; make install
步骤在OSX上构建。它是一个命令行工具,所以没有花哨的GUI或类似的东西。
为了更好地理解代码,我想在调试器中执行该工具。我希望调试器在main
方法的开头停止,然后逐步执行函数调用。所以这里也没有花哨的要求。
我的问题是,我在Windows开发方面有很多经验,但我是Unix / OSX上的新手,我很难组装所有必需的编译标志,工具......我想我有只是为./configure
添加一些标志,然后应该能够以某种方式使用gdb执行生成的可执行文件。但细节有点棘手,难以弄清楚。有没有人知道开始的好资源?比如“使用gdb for Dummies调试C命令行工具”? ; - )
答案 0 :(得分:3)
首先,您需要使用调试信息进行构建。您可以使用如下配置:
./configure CFLAGS=-g CPPFLAGS=-g
(运行./configure --help
以获取有关项目的更详细帮助。)
然后只需在gdb中启动该工具:
gdb ./mytool
如果您需要将args传递给该工具,请改为使用:
gdb --args ./mytool arg1 arg2 arg3 ...
进入gdb后,设置一个断点,让你停下来检查执行:
break main
break sourcefile.cpp:123
然后开始执行:
run