【问题标题】:GNU debugger; eclipse throws error messageGNU 调试器;日食抛出错误信息
【发布时间】:2013-09-19 04:59:36
【问题描述】:

我花了将近一个小时寻找与安装在 Cygwin 中的 gdb 调试器相关的特定内容。已经看到很多人面临同样的问题,但没有任何有用的答案。我需要在启用 c/c++ 的 eclipse 中使用 gcc 调试器。 每次我尝试启动调试器时,我都会收到一个错误,即 gdb --version 无法确定。 我深入进行了一些检查,我明白了:

$ gdb --version:

/usr/bin/gdb.exe:加载共享库时出错:cygexpat-1.dll:无法打开共享>对象文件:没有这样的文件或目录

拉起 Cygwin 命令提示符,结果如下:

$ cygcheck gdb:

cygcheck: track_down: 找不到 cygexpat-1.dll

我知道必须有办法让 GNU 调试器在 eclipse 中工作,帮帮我。

【问题讨论】:

  • 你需要使用合适的win32版本的GDB。 Cygnwin 的一个在它的 shell 中运行(使用它的文件系统的虚拟 rappresentation 并使用 unix 样式路径),在 windows 上没有 LD_LIBRARY_PATH。
  • 没有真正明白你的意思。你能详细说明一下步骤吗?
  • Eclipse 看到的是 win32 环境,cygwin 中的 gdb 看到的是 cygwin unix 类似于仿真环境(由 cyglib.dll 代理)。您需要一个不依赖于 cygwin 环境的 gdb 版本
  • 但是我得到的错误信息来自于在 cygwin unix 模拟器中执行 gdb 调试器;可能这两者已经集成在一起以相互协作。你不觉得吗?
  • 在 cygwin shell 中执行“echo $LD_LIBRARY_PATH”并检查它。如果您使用的是最新的 Windows 版本,则与 cygwin 有一些变基,请检查我是否还有一些参考。

标签: eclipse debugging cygwin


【解决方案1】:

我的一位同事遇到了同样的问题(他无法在 Cygwin 终端中运行 gdb)。解决方法是在“Libs”类别中安装“expat”包。

为了教一个人钓鱼,我是这样想的:

$ cygcheck -p cygexpat-1.dll
Found 5 matches for cygexpat-1.dll
x86/cygwin64-expat/cygwin64-expat-2.1.0-2
x86/expat-debuginfo/expat-debuginfo-2.1.0-2
x86/expat-debuginfo/expat-debuginfo-2.1.0-3
x86/libexpat1/libexpat1-2.1.0-2
x86/libexpat1/libexpat1-2.1.0-3

在 Cygwin 安装程序中,我合理猜测安装程序 UI 中的“expat”和“x86/libexpat1”是同一个包。有点混乱。

我仍然不确定他的 gdb 是如何在没有所需依赖项的情况下安装的。此外,“cygcheck -c”为他的设置提供了一个干净的健康证明。

【讨论】:

    【解决方案2】:

    安装libs下的libexpat1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多