저는 Linux 커널을 실행할 수 있는 x86 에뮬레이터를 찾고 있습니다. 저는 특히 커널이 로드되는 C/어셈블리 수준까지 부트로더의 모든 함수 호출을 표시할 수 있는 에뮬레이터를 찾고 있습니다. 또한 RAM 메모리 레이아웃을 표시할 수 있어야 합니다.
답변1
사용할 수 있는 커널 디버깅 솔루션이 많이 있습니다. 다음은 제가 사용한 몇 가지 솔루션입니다.
- 상자, 좋은 기능을 갖춘 전체 시스템 에뮬레이터내장 디버거(선택적 GUI 포함) 및 지원원격 디버깅 사용
gdb
; - QEMU, 또 다른 전체 시스템 에뮬레이터(CPU 전용, 프로세스별 에뮬레이션도 지원)도 지원합니다.원격 디버깅 사용
gdb
.
두 가지 모두 에뮬레이트된 시스템이 시작될 때 CPU를 정지시켜 부트로더를 디버깅할 수 있습니다. 대상으로 사용하면 C 코드(또는 이론적으로 지원되는 모든 코드)를 gdb
따를 수 있도록 추가 소스 코드도 지원합니다 .gdb