Eclipse 执行 MI 命令 -target-select remote 失败
Posted
技术标签:
【中文标题】Eclipse 执行 MI 命令 -target-select remote 失败【英文标题】:Eclipse failed to execute MI command -target-select remote 【发布时间】:2012-11-20 15:55:15 【问题描述】:尝试在 Eclipse 中设置远程 gdb 调试。当我尝试调试时,我得到:
Error in final launch sequence
Failed to execute MI command: -target-select remote LOCALHOST:2345
Error message from debugger back end:
LOCALHOST:2345: Connection timed out.
LOCALHOST:2345: Connection timed out.
我的 gdb 调试器设置正确
/carambola/carambola/build_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/gdb-linaro-7.2-2011.03-0/gdb/gdb
(执行此操作时我可以得到 gdb shell)
知道我做错了什么吗?
【问题讨论】:
【参考方案1】:如果 gdb 客户端(在 eclipse 中)未针对与 gdb 服务器相同的体系结构进行编译,则会发生这种情况。 在eclipse调试中设置正确的gdb解决了这个问题。
【讨论】:
您能否建议更正 gdb 设置的步骤。 @kapilddit 打开 edebug 设置 --> 调试器 --> 主选项卡 --> 浏览到为同一平台编译的 gdb(它通常是该平台工具链的一部分)。例如,这是为在树莓派上调试 c++ 程序而配置远程调试的方式:i.imgur.com/z4Ul4or.png【参考方案2】:切换到调试视图(右上角按钮),然后在左侧的顶部菜单栏中单击红色框终止按钮。然后我能够再次启动调试。
【讨论】:
【参考方案3】:连接使用的是本地主机而不是远程主机。要更正,请在 Eclipse 中转到
运行->调试配置..
这里选择 Debugger 选项卡,里面有三个附加选项卡(Main、Shared Libraries、Connections)。在“连接”中,您可以为远程机器提供正确的 IP。
【讨论】:
是的,如果 gdb 由于多种原因无法访问远程机器(正在运行 gdbserver),您可能会收到此错误消息。【参考方案4】:我正在使用 Eclipse,下面是我在它发生时设法修复它的方法。
-
在 IDE 的最右上角单击调试按钮 (debug button) 以查看调试模式。
进入调试模式后,右键单击项目树所在的位置(通常在最左侧的列中)(Project tree)
选择“终止并删除”
重建您的代码
【讨论】:
【参考方案5】:我尝试将我的工作区更改为放置项目的主文件夹并检查我的 ST Link 设备是否被扫描(调试配置)并检查是否在运行配置下,在 main 下,在 c/c++ 下选择了 .elf 文件: 然后我的代码开始工作。 希望这会有所帮助
【讨论】:
【参考方案6】:我遇到了同样的问题,在这里搜索,但解决方案是: ...\Cygwin\bin 不在系统的 PATH 中。我认为没有找到 gdb。
set PATH=C:\pathto\Cygwin\bin;%PATH%
在 Eclipse 开始之前很有帮助(设置 PATH 并在批处理文件中启动 eclipse.exe)。但是编译器被找到了(gcc,g++),不知道为什么。可能是编译器应该匹配调试器gdb,见上面的答案。
【讨论】:
【参考方案7】:这个问题的产生有两个原因:
-
如果断点已启用,请转到
Run
并跳过断点。
如果调试设备设置不正确,请转到Debug
配置为并检查Debugger
选项是否填写正确。
【讨论】:
以上是关于Eclipse 执行 MI 命令 -target-select remote 失败的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse 使用旧的 PATH 变量在 Gradle Task 中执行命令行进程?
Eclipse - maven - 我应该执行啥目标才能从 maven 实际部署到 Wildfly(实现与“在服务器上运行”eclipse 命令相同的结果)