gpt4 book ai didi

linux - GDB 远程调试 : can't stop the thread

转载 作者:太空狗 更新时间:2023-10-29 11:44:37 26 4
gpt4 key购买 nike

我在目标上有一个 gdbserver,我像 gdbserver :2345/bin/ls 一样启动它。接下来我从主机连接一个 gdb,并尝试发出下一个命令:

(gdb) target remote 192.168.1.2:2345
Remote debugging using 192.168.1.2:2345
warning: Architecture rejected target-supplied description
[New Thread 686]
(gdb) Remote 'g' packet reply is too long: 00000000c10ed6be0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d00dd6be0000000030fe0d40100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
(gdb) i thr
Id Target Id Frame
* 1 Thread 686 (running)
(gdb) interrupt
(gdb) interrupt 1
(gdb) interrupt 2
(gdb) i thr
Id Target Id Frame
* 1 Thread 686 (running)
(gdb) bt
Target is executing.
(gdb) c
Continuing.
Cannot execute this command while the selected thread is running.

我认为这可能是 gdb 损坏的原因是奇怪的消息,尝试谷歌。发现两个假设。 Here's a man 假设 gdb(尽管恕我直言,在目标上运行的 gdbserver 应该发送一个抽象的 arch-independent 命令)需要被调试的架构被设置。但它不起作用:

(gdb) set architecture armv7-a
Undefined item: "armv7-a".
(gdb) set architecture armv7
Undefined item: "armv7".
(gdb) set architecture armv5te
Undefined item: "armv5te".

我没有找到任何可以列出支持的架构的命令。 second assumptiongdbserver 本身需要配置神话般的选项 --with-expat。但是... configure: WARNING: unrecognized options: --with-expat

我没有更多的想法。那么,有人知道吗:如何中断目标上的线程?(顺便说一句,断点可以设置得很好,但它根本没有帮助,因为 gdb 似乎在运行线程。如果线程会正在运行,正在调试的 ls 立即消失。)

最佳答案

虽然可以构建“多架构”gdb,但默认的 Ubuntu GDB(称为 gdb)被构建为支持单一架构 - 主机 PC。你不能用它调试其他 CPU,尽管它确实连接到任何 gdbserver。

您需要可以调试您的目标 (ARM) 并且与您的目标上使用的 ABI 兼容的 gdb。

您应该使用您的工具链获得它,但如果没有,从源代码构建并不难。参见 sourceware.org/gdb/wiki/BuildingCrossGDBandGDBserver获取简要说明。

关于linux - GDB 远程调试 : can't stop the thread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24669864/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com