【问题标题】:Unable to attach GDB to process from Eclipse CDT无法从 Eclipse CDT 将 GDB 附加到进程
【发布时间】:2015-02-18 07:19:34
【问题描述】:

我正在使用 Eclipse CDT 在 Mac OS X 上构建一个插件,该插件通过 libwebsockets 将一些数据流式传输到浏览器 websocket 连接。编译过程运行良好,我能够在 X-Plane 中运行我的插件,并按预期在 Google Chrome 中看到数据。

我想用 GDB 设置调试,但我已经拖了大约一个星期了,但没有任何成功。我在 Eclipse CDT 中创建了一个启动配置来附加到应用程序,但是每次应该启动调试会话时,我都会在 Eclipse 调试透视图中得到以下信息:

当启动Debug时,Eclipse会弹出一个正在运行的进程列表,我选择X-Plane,但是启动时,它只是显示线程被挂起。

我的启动配置如下:

作为替代方案,我尝试使用 makefile 设置项目,可以在此处查看:

https://gist.github.com/josefvanniekerk/690ad22160789c724490

来自 Eclipse CDT 的 gcc 和链接器调用如下所示:

Building file: ../src/XPWebSocket.c
Invoking: GCC C Compiler
gcc -DAPL=1 -DIBM=0 -DLIN=0 -DXPLM210 -I../lib/xpsdk_v213/CHeaders/XPLM -I../lib/libwebsockets/lib -O3 -g3 -Wall -c -fmessage-length=0 -fvisibility=hidden -MMD -MP -MF"src/XPWebSocket.d" -MT"src/XPWebSocket.d" -o "src/XPWebSocket.o" "../src/XPWebSocket.c"
Finished building: ../src/XPWebSocket.c

Building target: xpwebsocket.xpl
Invoking: MacOS X C Linker
gcc -L../lib/libwebsockets/build/lib -F/{...omitted...}/Projects/xplane/XPWebSocketLib/lib/xpsdk_v213/Libraries/Mac -framework XPLM -shared -o "xpwebsocket.xpl"  ./src/XPWebSocket.o   -lwebsockets
Finished building target: xpwebsocket.xpl

我再次确定我已经通过了 -g 选项来启用调试,但我就是无法让它工作。

我尝试将 C/C++ 应用程序指向 /Applications/X-Plane/X-Plane.app/Contents/MacOS/X-Plane,将其更改为 Debug/xpwebsocket.xpl,尝试将其指向 . xpl 文件在 X-Plane Resources/Plugins 文件夹中,坦率地说,我不知道我应该做什么来调试 X-Plane + GDB。

我已经开始阅读有关尝试从命令行建立 GDB 调试会话的内容,也许如果我了解该过程,我可以让 Eclipse 工作。但是谁知道这会涉及多少天的阅读。

谁能给点建议?

更多信息,Eclipse CDT 中的 GDB 跟踪显示如下(只是错误位):

033,165 &".gdbinit: No such file or directory.\n"
033,165 13^error,msg=".gdbinit: No such file or directory."

037,222 19-target-attach --thread-group i1 197&
037,223 19^error,msg="Asynchronous execution not supported on this target."

关闭后:CDT中的“Non-stop mode”,得到如下:

527,581 18^error,msg="Unable to find Mach task port for process-id 197: (os/kern) failure (0x5).\n (\
please check gdb is codesigned - see taskgated(8))"

猜我需要对 X-Plane 可执行文件进行代码设计。

【问题讨论】:

    标签: c debugging gdb eclipse-cdt


    【解决方案1】:

    我设法通过使用以下指南签署 gdb 来解决这个问题:

    http://ntraft.com/installing-gdb-on-os-x-mavericks/

    但是,修复上述问题仅表明 Yosemite 上的 GDB 可能存在很多问题。

    【讨论】:

      猜你喜欢
      • 2017-12-23
      • 2015-04-06
      • 1970-01-01
      • 2013-01-18
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 2014-08-03
      • 2011-10-10
      相关资源
      最近更新 更多