简单的HowTo在调试器中启动OSX上的C++命令行工具



我有一个用C++编写的unix软件,它可以通过常见的./configure; make; make install步骤在OSX上构建。它是一个命令行工具,所以不涉及花哨的GUI或类似的东西。

为了更好地理解代码,我想在调试器中执行该工具。我希望调试器在main方法开始时停止,然后逐步执行函数调用。所以这里也没有什么花哨的要求。

我的问题是,我在Windows开发方面有一些经验,但我对Unix/OSX上的这些东西是新手,我很难组装所有需要的编译标志、工具。。。我想我只需要向./configure添加一些标志,然后就可以使用gdb以某种方式执行生成的可执行文件了。但细节有些棘手,很难弄清楚。有人知道一个好的开始资源吗?类似于"使用gdb为dummies调试C命令行工具"?;-)

首先需要使用调试信息进行构建。您可以使用这样的配置:

./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

最新更新