在 Eclipse CDT(Helios) 中使用 Cygwin gdb 进行调试时出现问题

发布于 2024-09-02 03:33:19 字数 681 浏览 1 评论 0原文

我正在尝试使用 Eclipse CDT 和 cygwin gdb 调试应用程序,如果我的代码调用 Sleep(),我会遇到问题,看起来每当代码中遇到睡眠时,调试器似乎都会运行处于无限循环中(我的意思是它在睡眠后永远不会终止或遇到断点)
按暂停键后,代码会卡在 sigint::interrupt 上的线程之一上。
甚至我的调试器控制台窗口也会在控制台输出中抛出这些错误:

[New thread 5968.0x1f98]
Error: dll starting at 0x774a0000 not found.
Error: dll starting at 0x775c0000 not found.
[New thread 5968.0x19e8]

知道这些错误是什么吗?

如果有人能在这里帮助我,那将会很有帮助,因为我是 Eclipse 的新手,而且我习惯使用 VS,所以说实话,并期望事情能够开箱即用,这让我变得懒惰。

如果需要

  • Windows 7 x64 位,这里有更多详细信息。
  • Eclipse 3.6 Helios 带有从 CVS 头编译的 CDT 插件。
  • 网站上最新的Cygwin,我认为是1.71

I am trying to debug an application using Eclipse CDT and cygwin gdb and I am facing a problem if my code calls Sleep(), it looks like whenever a sleep is encountered in the code the debugger seems to go in an infinite loop(I meant it never terminates or hit a breakpoint after sleep).
On pressing pause the code is stuck on one of the thread on sigint::interrupt.
Even my debugger console windows throw these error in the console output:

[New thread 5968.0x1f98]
Error: dll starting at 0x774a0000 not found.
Error: dll starting at 0x775c0000 not found.
[New thread 5968.0x19e8]

Any idea what are these errors about?

It would be helpful if someone can help me out here as I am new to eclipse and I am used to using VS so it has made be lazy to be honest and expect things to work out of box.

Here are more details if required

  • Windows 7 x64 bit.
  • Eclipse 3.6 Helios with CDT plug-in compiled from the CVS head.
  • Cygwin latest from website, I think it is 1.71

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夜司空 2024-09-09 03:33:19

几个线程 ://dev.eclipse.org/newslists/news.eclipse.tools.cdt/msg17658.html" rel="nofollow noreferrer">这个问题,但是不多。
可能是因为这与其说是 CDT 问题,不如说是 gdb 问题。

因此,您需要将使用的确切 gdb 版本与 gdb bugs 数据库,您可以在此处浏览

例如,有一个严重 bug 11031 “尝试在 C++ 异常处设置断点时 gdb 终止”,这可能是相关的(但未解决)。

There are a few threads in this issue, but there aren't many.
Probably because it is not so much a CDT problem, but rather a gdb issue.

So you need to compare the exact gdb version used with the ones involved in gdb bugs database, which you can browse here.

For instance, there is this critical bug 11031 "gdb terminates when trying to set breakpoint at C++ exception", which may be related (but unresolved).

不顾 2024-09-09 03:33:19

通过安装 GDB 7.1 解决了问题。旧版本的 GDB 似乎不支持 64 位。

Problem solved by installing GDB 7.1. Older versions of GDB doesn't seems to be supporting 64-bit.

计㈡愣 2024-09-09 03:33:19

我升级到 gdb 7.2 并在 cdt 控制台中收到以下错误:

错误:未找到从 0x76e30000 开始的 dll。
错误:未找到从 0x76090000 开始的 dll。
错误:未找到从 0x76e30000 开始的 dll。
错误:未找到从 0x76f50000 开始的 dll。

我还使用 Windows 7 64 位和最新的 Cygwin。我在普通 shell 中尝试了调试器,它工作得很好。我可以调试我的应用程序。

I upgraded to gdb 7.2 and and get the following error in the cdt console:

Error: dll starting at 0x76e30000 not found.
Error: dll starting at 0x76090000 not found.
Error: dll starting at 0x76e30000 not found.
Error: dll starting at 0x76f50000 not found.

I am also using Windows 7 64 bits and the latest Cygwin. I tried the debugger in a normal shell and it worked fine. I could debug my application.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文