使用 Eclipse 调试 C++ 库

Posted

技术标签:

【中文标题】使用 Eclipse 调试 C++ 库【英文标题】:Debugging C++ lib with eclipse 【发布时间】:2008-12-31 09:21:39 【问题描述】:

我正在从事 Linux 项目,其中涉及 1) C++ 中的静态库 2) 使用静态库的 C++/QT 开发的 GUI。

现在 lib 和 gui 都是使用 makefile 从命令提示符构建的。

我正在尝试调试两者,就像我按下一个按钮时一样,调用应该从 GUI 转到 lib。

是否可以在 Linux 中使用 eclipse 进行这样的操作? 我可以使用 Visual Studio 在 Windows 中轻松地执行相同的调试过程并将 lib 附加到 GUI,但我找不到任何使用 eclipse 的好方法。

我尝试过很多 IDE/调试器,例如 安茹塔 代码块。 DDD,Kdbg 但没有一个工作正常。

我不确定是我错了还是调试起来很复杂?

有人可以建议一种正确的调试方法吗?

【问题讨论】:

【参考方案1】:

调试静态库应该没有任何问题,因为它的相关部分将内置到您正在调试的二进制文件中。如果您遇到问题,那么需要检查的一些事情是库和二进制文件都是使用调试信息构建的(通常是 linux 上编译器的选项-g),并且您的调试器可以访问库的源代码。

您能否更具体地说明调试不工作的原因?听起来“进入”库函数并没有像您期望的那样工作。

【讨论】:

【参考方案2】:

好吧,我想通了.. 我目前正在使用 Kdevelop .. 使用 Kdevelp,我们可以创建 QT 项目以及 c++(lib) 项目。 并且还有附加过程的选项。 所以我可以通过附加 GUI 来单步执行 lib 代码。

【讨论】:

【参考方案3】:

我在 Eclipse 中创建了新项目并添加了现有的源文件夹。 然后它会自动添加所有源文件。项目有自己的自定义 makefile 。现在,当我尝试调试项目时,它会显示调试窗口,在该窗口中我选择了 C/C++ 附加到本地应用程序,因为我想将 lib 附加到 GUI。

它要求我在调试窗口中输入项目名称。

在带有 Visual Studio 的 Windows 中,它提供了可以附加的进程列表,但我应该在这里创建项目吗?

我不明白这个..

【讨论】:

以上是关于使用 Eclipse 调试 C++ 库的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse开发工具

无法调试 C++ eclipse makefile 项目

使用 Eclipse CDT/RSE/RDT 远程调试 C++ 应用程序

eclipse c++ 报错 求大神看看

Eclipse CDT:如何在 C 源代码上使用 GCC C++ 编译器?

Eclipse 报告“加载 JNI 共享库失败”[重复]