1

我正在 Ubuntu 16.04 上的 Eclipse Neon 中调试应用程序。我的项目要求我生成一个核心转储(其中包括正在调试的进程的所有内存(堆、堆栈、代码段等)),同时为该应用程序提供一个调试会话。

在 Eclipse 中调试同一应用程序时,我尝试从终端使用“gcore”。这给了我:

警告:进程 32062 已被进程 32032 跟踪
ptrace:不允许操作。
如果没有调试过程,您将无法做到这一点。
程序没有运行。
gcore:创建 core.32062 失败

如果我使用“gcore”而不在 Eclipse 中调试应用程序,则会生成核心转储。

我没有找到从 Eclipse 中生成核心转储的选项……这存在吗?在哪里可以找到它?我可以添加一个插件,允许我在调试应用程序时从 Eclipse 中“执行 gcore”(类似)命令吗?

谢谢!希望你能帮忙。

4

1 回答 1

1

与此同时,我想通了。在 Eclipse 中,您可以在使用“调试”透视图进行调试后选择 gdb 控制台选项卡。这个 gdb 控制台是一个交互式控制台(与 Eclipse Neon 中的所有其他控制台一样)。在这里,您只需键入命令“generate-core-file”,它将核心转储正在调试的进程的内存。

还需要注意的是,有一个“暂停”按钮,您可以随时使用它来“暂停”您的应用程序。在“挂起”之后,您还可以在 gdb 控制台中使用“生成核心文件”创建核心转储。

于 2016-12-09T07:51:41.177 回答