我在 Eclipse 上有两个项目,一个生成 so,另一个是使用它的 Android 应用程序我正在尝试使用 this guide 调试 so 中的 native 代码.
- 我将我的应用程序设置为可调试
- 我在 Debug模式下启动了我的应用程序
- 我运行 ndk-gdb
当我运行 native 调试器时,我得到:
Error in final launch sequence
Failed to execute MI command:
-gdb-set target-async off
Error message from debugger back end:
Cannot change this setting while the inferior is running.
Cannot change this setting while the inferior is running.
最佳答案
我在这里找到了这个链接 link实际作者是 marc
.
自从您按照指南安装了CDT
。
CDT 启动时,它会尝试在 main
处设置断点,因此会在程序启动时中断执行。但是,您的目标已经在运行,因此无法设置断点,整个事情都失败了。
你可以简单地告诉你的启动不要设置断点,让它连接到你的目标。 转到:运行->调试配置...并找到您的启动配置。然后选择启动子选项卡,向下滚动并取消选中“运行时选项”小节中的“设置断点”。
****这也可能与您使用的操作系统有关,因为这是执行较差的问题。**** 因此可能需要一个补丁。但在做任何事情之前尝试上面。它可能会解决您的问题.
同时从 .gdbinit 文件中删除“target”命令可能会有所帮助,因为 eclipse 插件已经发出了这个命令。
如果没有任何效果,您可能会寻找更改调试器,因为最后它是 gdb 编译问题。
我的回答纯属研发。
关于android - 最终启动顺序出错 无法执行 MI 命令 -gdb-set target-async off,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14462730/