Qemu에서 cavium octeon의 mips64 Linux 커널을 에뮬레이트하려고합니다. 현재 사용 모드 초기화 코드에 문제가 있으며 init.i를 디버그하고 싶습니다. Qemu를 -s -S 옵션을 사용하여 시작합니다. 명령 줄 및 명령을 --debugger/OCTEON-SDK/도구/빈/MIPS64-OCTEON - 리눅스 GNU-gdb를 /OCTEON-SDK/linux/kernel_2.6/linux/gem을 사용하여 Qemu에서 디버그 초기화
DDD를 사용하여 gdb를 실행의 vmlinux
다음 명령으로 GDB 부착
목표 원격 로컬 호스트 1234
gdb는 현재 커널 공간에서 실행중인 명령어 만 표시하고 있습니다.
내가 묻고 싶은 것은 커널 공간의 경우처럼 usermode init 및 libraries 명령어를 단계별로 디버깅 할 수있는 방법이 있습니까? 예를 들어 printf이 init에서 발행 된 경우 라이브러리에서 실행중인 지침과 컨트롤이 커널로 반환되는 방법을보고 싶습니까?
MIPS에 대한 gdb 지원이 커널과 사용자 공간 간의 전환을 처리 할 수 있는지 여부에 따라 다릅니다. 커널의 resume_userspace에 중단 점을 넣고 거기에서 한 단계 씩 전환을 처리하는지 확인하십시오. – stsquad