2017-03-03 51 views
6

这是我的第一条消息,我在写你,因为这次我无法真正将我从这个问题中解救出来。“(gdb)run”在qemu仿真arm架构上运行可执行文件时崩溃

我正在浏览关于gdb的课程。在后面的课程中,该课程涵盖了ARM架构上的调试,所以我给出了一个让我模拟这种情况的设置。

  • 的Windows 10:物理性主机
    • 的Ubuntu 12.04.5 LTS:通过Oracle虚拟框来宾操作系统在Windows 10
      • Linux的debian-

        我目前的设置是由组成armel 2.6.32-5-versatile:在Ubuntu上通过qemu 2.8.0的guest os

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 

我修改的sources.list和apt.conf允许容易的工作,因为德的发行是相当过时。我更新并升级并安装了gcc和gdb。

问题尝试调试时出现了:我可以在gdb

[email protected]:~/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 

加载的可执行文件,但是当我尝试运行它和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 jbd mbcache sd_mod crc_t10dif sym53c8xx scsi_transport_spi scsi_mod 
[<c002b068>] (unwind_backtrace+0x0/0xdc) from [<c0046f88>] (warn_slowpath_common+0x4c/0x80) 
[<c0046f88>] (warn_slowpath_common+0x4c/0x80) from [<c00446f0>] (wake_up_process+0x2c/0x48) 
[<c00446f0>] (wake_up_process+0x2c/0x48) from [<c0026930>] (arch_ptrace+0x214/0x4bc) 
[<c0026930>] (arch_ptrace+0x214/0x4bc) from [<c00508d8>] (sys_ptrace+0x9c/0x164) 
[<c00508d8>] (sys_ptrace+0x9c/0x164) from [<c0024ec0>] (ret_fast_syscall+0x0/0x28) 
---[ end trace 98ab50bc781b314f ]--- 

任何人都可以请指点一个方向来解决这个问题吗?

在此先感谢!

+4

这可能是一个客户内核中的错误(虽然当然不是这样),所以我会开始尝试与更新的内核比2.6.32,这是现在已近8岁。 –

+0

非常感谢你!尝试与其他图像形式相同的网址,内核3.2作品无瑕 – IlManu

+1

彼得,发表您的评论作为一个职位,这样IlManu可以确认问题关闭 –

回答

0

不是我的答案,而是让问题被标记为已关闭:

这可能是在来宾内核中的错误(虽然不是一定如此),所以 我会用一个尝试启动比2.6.32更近的内核,其中 现在已经快8年了。 - 彼得梅德尔17年3月3日在13:14