2010-01-11 3 views
10

나는 virtualbox.org에서했던 것과 같은 질문을 크로스 게시하고있다. http://forums.virtualbox.org/viewtopic.php?f=9&t=26702&p=119139#p119139가상 박스에서 게스트 OS를 디버그하는 도구

규칙을 위반하지 않으면 stackoverflow가 더 동적 인 약속 이후로 kwon에 대해 감사하겠습니다!

"안녕하세요, 가상 머신에서 초기 부팅에서 게스트 시스템을 디버깅 할 수있는 도구를 찾을 수 없었습니다.하지만 강력하고 아름다움이없는 java의 x86 에뮬레이터 인 JCP를 발견했습니다. 물리적 메모리를 볼 수있는 디버그 모드를 가지고 있으며, CPU는 다른 것들과 함께 등록됩니다. 또한 CPU 명령어를 단계별로 실행하고 중단 점, 감시 점 및 조건부를 설정할 수 있습니다 .Virtual Box에는 이와 같은 것이 있습니까?

PC 아키텍처 또는 커널 개발 도구에 대해 자세히 알고 싶다면

당신이 그 좋은 생각을한다고 생각한다면 (나는 생각한다) 어떻게 그것을 성취 할 수 있는가? 나는 그런 종류의 것들을 개발하는 데 관심이 있으며 이미 어딘가에 구현되지 않았다면 실현 가능한지 알고 싶다 "고 말했다.

EDT : 최신 x86은 CPU주기 후에 실행을 중단하고 실행 주소를 전달할 수 있는가? 예, 트랩 플래그는 프로세서를 단계별 실행 모드로 설정하도록 설정할 수 있습니다. x86은 하나의 명령어를 실행하고 INT 3을 호출합니다.

+0

QEMU 좋은 GDB 지원이 : https://stackoverflow.com/questions/11408041/how-to-debug-the-linux-kernel-with-gdb-and-qemu/33203642 # 33203642 –

답변

7

OSDev wiki에는 게스트 디버깅에 대한 유용한 정보가 있습니다. 운영 체제, 비록 this page에 따르면 현재 VirtualBox에는 디버거가 없습니다. 내가 the GDB stub과 함께 QEmu를 사용하고 있었고 아주 잘 작동하기 때문에 대신 그걸 제공하고 싶습니다.

+0

Gdb가 게스트 메모리를 검사 할 수 있으며 게스트 IP를 가리 킵니까? AFAIK VirtualBox는 QEMU를 기반으로하므로 좋은 인터페이스가 불가능하지 않아야합니다. 권리? –

+0

그래, 내가 그것을 사용했을 때, 브레이크 포인트를 설정하고, 레지스터를 검사하고, 메모리 위치를 나열하는 것과 같은 일반적인 모든 GDB 작업을 수행 할 수있다. VirtualBox에 대한 경험이 없으므로 실현 가능성은 말할 수 없습니다. –

+0

디버그 기호도 이해할 수 있습니까? 방금 DDD와 같은 멋진 인터페이스를 사용하려고 생각했지만 Windows를 사용하고 theres no port처럼 보입니다. –

10

위에서 언급 한 것과는 달리 VirtualBox에는 (제한된) 디버거가 포함되어 있습니다. VM을 시작할 때 명령 줄에 --dbg을 추가하십시오. 자세한 내용은 문의 :

12.1.3. The built-in VM debugger

+0

멋진 멋진 것들! 초기 실험을 토대로 여전히 버그가있는 것처럼 보입니다. –

관련 문제