是否可以在 eclipse CDT 中将调试会话附加到正在运行的程序

Posted

技术标签:

【中文标题】是否可以在 eclipse CDT 中将调试会话附加到正在运行的程序【英文标题】:Is it possible to attach a debugging session to a running program in eclipse CDT 【发布时间】:2010-10-13 22:34:18 【问题描述】:

我正在编写一个 netscape iplanet 插件(在使用 eclipse 的 solaris/C 上),它基本上是一个具有特定入口点的共享对象,我希望能够使用 eclipse 的调试器 (gdb) 调试共享对象。 我记得在 AIX 中做过类似的事情,您可以将 xldb 附加到正在运行的进程。是否可以让 eclipse 运行 gdb 以附加到正在运行的二进制文件? 我应该因为我想调试一段动态加载的代码而感到悲伤吗?

【问题讨论】:

你试过***.com/questions/655853/…吗? 【参考方案1】:

是的。您需要转到启动配置对话框并选择“C++ 附加到...”。根据您的 Eclipse 版本,可能只有一个或多个“C++ 附加到...”变体可用。

【讨论】:

【参考方案2】:

我将 Eclipse CDT 用于 HP/UX 远程环境。我不确定它是否适合你:

    让您的应用在 unix 上运行

    转到运行/调试配置/C/C++ 附加到远程

    单击“调试”,将显示进程列表

    选择要调试的进程。

【讨论】:

在第 1 步中,如何确保应用程序不会运行超过我想要调试的点? (在 HP-UX 上) 您好,您能指定您使用的是哪个插件吗?我在 C++ 附加到远程的调试配置下找不到任何选项我有 C++ 远程应用程序。 @Hassaan 嗨,你可以写 int x = 1; while(x) sleep(1000); 这将确保代码在某个地方停止。如果符号文件被加载并映射,那么您设置的任何断点都将被命中并像魅力一样工作。

以上是关于是否可以在 eclipse CDT 中将调试会话附加到正在运行的程序的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有 gdbserver 的情况下使用 Eclipse CDT 进行远程调试?

Eclipse CDT:线程在调试模式下获取 SIGPIPE

如何将 GDB 调试器安装到 Eclipse CDT

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

在 Mac OS X 上使用 Eclipse CDT 调试远程 Linux 应用程序

windows下使用mingw/gdb无法调试eclipse helios cdt上的小程序,控制台死机