小编IlM*_*anu的帖子

"(gdb)运行"在qemu模拟arm架构上运行可执行文件时崩溃

这是我的第一条消息,我正在给你写信,因为这次我真的无法解决这个问题.

我正在学习关于gdb的课程.在后面的课程中,课程涵盖了ARM体系结构的调试,因此我提供了一个允许我模拟这种情况的设置.

我目前的设置是由:

  • Windows 10:物理主机
    • Ubuntu 12.04.5 LTS:来自Windows 10上的Oracle Virtual Box的访客操作系统
      • Linux debian-armel 2.6.32-5-versatile:在OS上通过qemu 2.8.0在Ubuntu上运行

ARM Debian映像来自https://people.debian.org/~aurel32/qemu/armel/

图像随启动而启动

qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda debian_squeeze_armel_standard.qcow2 -append "root=/dev/sda1" -m 256 -redir tcp:2222::22
Run Code Online (Sandbox Code Playgroud)

我修改了sources.list和apt.conf以允许apt工作,因为de distro已经过时了.我更新并升级并安装了gcc和gdb.

尝试调试时出现问题:我可以在gdb中加载可执行文件

root@debian-armel:~/video-11/video-11# file ./main
./main: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在gdb中运行它时,我收到此消息并且执行挂起,直到我能够从另一个控制台终止gdb进程

------------[ cut here ]------------
WARNING: at /build/linux-2.6-fIxTVd/linux-2.6-2.6.32/debian/build/source_armel_none/kernel/sched.c:2628 wake_up_process+0x2c/0x48()
Modules linked in: loop sg smc91x sr_mod mii cdrom psmouse evdev ext3 …
Run Code Online (Sandbox Code Playgroud)

c linux gdb arm qemu

8
推荐指数
1
解决办法
304
查看次数

标签 统计

arm ×1

c ×1

gdb ×1

linux ×1

qemu ×1