无法将GDB附加到Eclipse CDT进行处理

时间:2015-02-18 07:19:35

标签: c debugging gdb eclipse-cdt

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

我想用GDB设置调试,但是我已经把头发拉了大约一个星期而没有任何成功。我已经在Eclipse CDT中创建了一个启动配置,以附加到应用程序,但每次调试会话应该启动时,我只是在Eclipse调试透视图中获得以下内容:

Debug perspective thread view

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

我已按如下方式设置启动配置:

enter image description here

作为替代方案,我尝试使用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,尝试将其指向。 X-Plane Resources / Plugins文件夹中的xpl文件,坦率地说,我不知道我应该做些什么来调试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中的“不间断模式”,获得以下内容:

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可执行文件进行编码。

1 个答案:

答案 0 :(得分:0)

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

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

然而,修正上述内容只会发现优胜美地的GDB可能有很多错误。

相关问题