디버그 모드에서 커널을 실행하고 Virtualbox 및 Kali Linux를 사용하여 KGDB를 기다리는 방법은 무엇입니까?

디버그 모드에서 커널을 실행하고 Virtualbox 및 Kali Linux를 사용하여 KGDB를 기다리는 방법은 무엇입니까?

을 사용하여 Linux 커널을 디버깅하려고 하는데 Virtualbox작동할 수 없습니다.

제가 한 일은 다음과 같습니다.

  1. 다음 구성으로 커널을 컴파일하십시오.

    CONFIG_HAVE_ARCH_KGDB=y   
    CONFIG_KGDB=y  
    CONFIG_KGDB_SERIAL_CONSOLE=y  
    CONFIG_KGDB_TESTS=y   
    CONFIG_KGDB_TESTS_ON_BOOT=y
    CONFIG_KGDB_TESTS_BOOT_STRING="V1F100"  
    CONFIG_KGDB_LOW_LEVEL_TRAP=y  
    CONFIG_KGDB_KDB=y  
    CONFIG_KDB_DEFAULT_ENABLE=0x1  
    CONFIG_KDB_KEYBOARD=y
    CONFIG_KDB_CONTINUE_CATASTROPHIC=0  
    CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y 
    
  2. 컴파일된 커널을 설치합니다.

  3. 부팅 인수 추가

     kgdbwait kgdboc=ttyS1,115200
    

그리고 그것은 기다리지 않습니다 KGDB. 그러나 직렬 포트를 사용하여 부팅 프로세스 출력을 얻으려고 하면 console=tty0 console=ttyS0,115200작동합니다.

커널은 Linux/x86 4.9.16 Kernel(Kali Linux)입니다.

관련 정보