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 不会在断点处停止并将线程状态置于运行中:用户请求的主要内容,如果未能解决你的问题,请参考以下文章