这是我的第一条消息,我正在给你写信,因为这次我真的无法解决这个问题.
我正在学习关于gdb的课程.在后面的课程中,课程涵盖了ARM体系结构的调试,因此我提供了一个允许我模拟这种情况的设置.
我目前的设置是由:
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)