Eclipse 不会在断点处停止并将线程状态置于运行中:用户请求

Posted

技术标签:

【中文标题】Eclipse 不会在断点处停止并将线程状态置于运行中:用户请求【英文标题】:Eclipse will not stop at breakpoint and puts thread state into Running: User Request 【发布时间】:2014-06-04 11:48:12 【问题描述】:

最近,Eclipse SDK 决定杀死我的脑细胞。

出乎意料的是,它刚刚停止在断点处暂停。我确实看到它到达了断点,但随后窗口失去焦点并在线程/调用堆栈窗口中显示

MyApp [C/C++ Application]
  MyApp [18556][cores:1]
    Thread [2] (Running : Container)
    Thread [1] (Running : User Request)
  gdb

我看到当我到达我的断点时,它需要一眨眼的时间才能进入上述状态。我的应用程序停止响应和工作,我必须终止它。

我的应用程序是一个非 GUI 应用程序,它作为后台任务在 linux 中运行,它读取和写入文件,通过 COM 和 TCP/UDP 执行通信。从来没有请求用户输入或类似的东西。

有很多人在遇到断点问题时遇到 eclipse 问题,但是他们都是关于 java 项目和/或 windows 版本的 eclipse 并且提供的解决方案都不适合我。

到目前为止我有:

重建索引。 清理并重建项目。 删除所有调试文件、makefile、二进制文件并重新构建。 清除所有断点。 确保它没有设置为忽略断点。

可能还有更多我已经忘记了。

Eclipse 版本是 4.2.1 Linux:Arch linux,已经有 2 年没有更新了。 项目是 C++。

我还需要提供哪些其他信息? 我怎么解决这个问题。我无法调试我的应用程序:(

【问题讨论】:

我假设配置设置为调试,对吧? 可以肯定的是,我双重、三重和四重检查它在运行时是否也需要 Debug/MyApp 二进制文件。 我似乎可以在更改调试器(或启动器,还不太了解这部分)后使用断点。我一直在使用GDB (DSF) Create process launcher,现在我选择了Standard Create process launcher 和一个debuffer gdb/mi。然而,这并不能解决我的主要问题,因为这个调试器似乎太基础了,在调试时不会显示太多东西。此时我正在使用它,因为我没有任何其他选择。 【参考方案1】:

我以这种方式解决了这个问题:“运行”->“调试配置”->选择你的配置->调试器。 然后选中显示“使用外部控制台进行下级(打开一个新的控制台窗口进行输入/输出)”的复选框。

【讨论】:

以上是关于Eclipse 不会在断点处停止并将线程状态置于运行中:用户请求的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse - 调试器不会在断点处停止

Visual Studio 2010 C# 调试器不会在新断点处停止

远程调试不会在断点处停止

颤振调试器不会在断点处停止

eclipse 断点调试快捷键是哪些?

VB 代码不会在断点处停止