我試圖在Qemu上模擬cavium octeon的mips64 linux內核。我目前在使用模式init代碼時遇到了一些問題,並且想要調試init.i,我正在使用-s -S選項啓動Qemu在命令行中使用命令使用gdb在Qemu上調試初始化
DDD --debugger/OCTEON-SDK /工具/斌/ MIPS64-OCTEON-Linux的GNU的GDB /OCTEON-SDK/linux/kernel_2.6/linux/運行GDB的vmlinux
,然後用命令附接的gdb
目標遠程本地主機:1234
gdb當前只顯示在內核空間中運行的指令。
我想問的是,有什麼方法可以像內核空間的情況下一步一步地調試usermode init和庫指令? 例如,如果printf是從init發出的,那麼我想看看哪些指令正在庫中執行,以及如何將控制返回給內核?
這將取決於gdb是否支持MIPS可以處理內核和用戶空間之間的轉換。嘗試在內核的resume_userspace中放置一個斷點,然後單步執行,看看是否處理了該過渡。 – stsquad 2014-07-03 14:35:44