OS를 쓰고 있는데 코드를 디버깅하는 데 문제가 있습니다. GDB를 사용하여 Bochs의 GDB 스텁에 연결하여 "원격으로"커널을 디버깅합니다. 커널 파일에서 디버깅 기호를로드하는 것처럼 연결이 잘 작동합니다. 성공적으로 위치한 kmain 함수에 대한 중단 점을 설정하고 디버거가 올바르게 (내 커널 내부에서) 중단됩니다. 그러나 나는 내 코드를 "step"또는 "next"할 수 없으며 GDB가 현재 코드 라인을 분명히 결정할 수도 없다.Bochs + GDB로 디버깅 : "현재 함수의 범위를 찾을 수 없습니다"?
"단계"를 시도하면 "현재 함수의 범위를 찾을 수 없습니다"라는 메시지가 나타납니다. 이 오류 메시지는 언제든지 얻을 수있는 유일한 오류 메시지입니다.
내 코드가 -g 플래그로 컴파일되고있다. (GCC 옵션을 사용하여 다른 유형의 디버깅 정보를 시도했지만 아무 것도 작동하지 않았다.) 나는 GDB 매뉴얼을 살펴보고, 대답, 나는 완전히 엉망이 됐어. 어떤 도움이라도 훌륭 할 것입니다.
감사합니다.
답변을 게시 해 주셔서 감사합니다. 운영 체제와 함께 행운을 빌어 요. –