Я создаю плагин на Mac OS X с помощью Eclipse CDT, который передает данные через libwebsockets в соединение веб-узла браузера. Процесс компиляции отлично работает, и я могу запустить свой плагин на X-Plane и увидеть данные, поступающие в Google Chrome, как ожидалось.Не удалось подключить GDB к процессу с Eclipse CDT
Я хочу настроить отладку с помощью GDB, но я уже почти неделю тянул свои волосы без каких-либо успехов. Я создал конфигурацию запуска в Eclipse CDT для Присоединить к применению, но каждый раз, когда сеанс отладки должен начать, я просто получаю следующее в отладочной перспективе Eclipse:
При запуске Debug, Eclipse показывает мне всплывающий список запущенных процессов, и я выбираю X-Plane, но при запуске он просто показывает, что поток приостановлен.
Я настроил конфигурацию запуска следующим образом:
В качестве альтернативы, я попытался создать проект с помощью Makefile, который можно увидеть здесь:
https://gist.github.com/josefvanniekerk/690ad22160789c724490
Вызовы gcc и компоновщика из Eclipse CDT выглядят следующим образом:
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 работать. Но кто знает, сколько дней чтения, что будет связано.
Может кто-нибудь предложить совет?
Более подробную информацию только в, GDB след в Eclipse CDT показывает следующее (только биты ошибок):
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.