【发布时间】:2020-02-17 06:08:31
【问题描述】:
如何将gdb 附加到ARM Qemu 板上,每个smp 运行不同的内核?当我使用gdb选项时,我只能在gdb中使用file选项指定一个内核。
Qemu 命令:
qemu-system-aarch64 -M virt -smp 2 \
-display none -nographic \
-device loader,file=f1.axf,cpu-num=0 \
-device loader,file=f2.axf,cpu-num=1 -s -S
gdb 命令运行:
gdb-multiarch
target remote localhost:1234
file f1.axf
在此之后,gdb 显示两个线程,都将调试源显示为 f1.axf。
如果我在文件选项中传递f2.axf,线程都会显示来自f2.axf 的源和调试信息。
gdb没有错误信息
设置:
- 主机:Ubuntu 18.04,64位
- 嘉宾:Qemu Arm
- GDB Multiarch:在主机上运行 (Ubuntu)
【问题讨论】:
-
欢迎来到 SO。请编辑您的问题并添加您迄今为止尝试过的
gdb调用语句以及错误消息或简短说明什么不起作用。还请澄清您的设置:gdb在哪里运行,正在调试的进程执行的主机在哪里,您的Qemu设置看起来如何... -
尝试根据您的评论添加信息,不清楚。
-
只是猜测:使用两个终端并在每个终端中打开
gdb以连接到一个终端中的f1.axf和另一个终端中的f2.axf? -
但我只能通过一个 GDB 连接,因为只有一个 gdbserver 存在。其他 GDB 无法连接。