【问题标题】:Error in final launch sequence Failed to execute MI command -gdb-set target-async off最终启动顺序出错 无法执行 MI 命令 -gdb-set target-async off
【发布时间】:2013-01-05 22:18:51
【问题描述】:

我在 Eclipse 上有两个项目,一个生成一个 so,另一个是使用它的 Android 应用程序我正在尝试使用 this guide 调试 so 中的本机代码。

  1. 我将我的应用程序设置为可调试
  2. 我在调试模式下启动了我的应用程序
  3. 我运行 ndk-gdb

当我运行本机调试器时,我得到:

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.

【问题讨论】:

  • 不严格和回答,但考虑到这个问题的年龄,考虑迁移到 gradle 进行构建?它大大改进了对ndk 的支持
  • 你用的是哪个操作系统
  • 操作系统是Windows 7

标签: android eclipse android-ndk


【解决方案1】:

我在这里找到了这个链接link,实际作者是marc

由于您按照指南安装了CDT

CDT 启动时,它会尝试在main 处设置断点,因此它会在您的程序启动时中断执行。但是,您的目标已经在运行,因此无法设置断点,整个事情都失败了。

你可以简单地告诉你的启动不要设置断点,让它连接到你的目标。 转到:运行->调试配置...并找到您的启动配置。然后选择启动子选项卡,向下滚动并取消选中“运行时选项”小节中的“设置断点”。

****这也可能与您使用的操作系统有关,因为这是执行较差的问题。**** 因此可能需要一个补丁。但在做任何事情之前尝试上面。它可能会解决您的问题.

同时从 .gdbinit 文件中删除“target”命令可能会有所帮助,因为 eclipse 插件已经发出了这个命令。

如果没有任何效果,您可能会寻找更改调试器,因为最后它是 gdb 编译问题。

我的回答纯属研发。

【讨论】:

    【解决方案2】:

    eclipse内部的gdb客户端和gdb服务器不匹配。尝试在eclipse中更改gdb客户端

    调试设置 --> 调试器 --> 主选项卡 --> 浏览到已编译的 gdb 同一个平台

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-20
      • 2019-08-18
      • 1970-01-01
      • 2013-07-22
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      • 2013-01-04
      相关资源
      最近更新 更多