2012-11-21 5 views
0

GDB와 OpenOCD를 사용하여 Windows의 STM32F4DISCOVERY 보드에서 간단한 프로그램을 디버깅하고 있습니다. 별도로 OpenOCD를 시작하고에 연결하기 위해 TCP/IP를 사용하는 경우는 다음과 같이 뭔가 잘 작동 : 나는 끝났어요 때원격 파이프 모드에서 OpenOCD를 사용할 때 GDB가 멈추는 이유는 무엇입니까?

target remote localhost:3333 

, 나는 정상으로 quit를 사용하여 GDB를 종료 할 수 있습니다. 그러나 OpenOCD를 수동으로 시작하고 중지 할 필요없이 "원격 파이프"모드에서 GDB를 사용하고 싶습니다. 이것은 나에게 다소 이상적인 구성처럼 보인다. 그러나이 작업을 수행 할 때 GDB를 종료 할 수 없습니다. 종료하려고하면 응답하지 않습니다.

OpenOCD 로그 파일

은 GDB의 연결이 끊어 것을 보여줍니다

Info : dropped 'gdb' connection 

그러나 GDB는 결코 종료하지 :

유사
(gdb) quit 
A debugging session is active. 

     Inferior 1 [Remote target] will be detached. 

Quit anyway? (y or n) y 
Detaching from program: yagarto_sample.elf, Remote target 
Ending remote debugging. 

disconnect 명령 중단을, 결코 returing 없습니다. Ctrl-C조차도 GDB를 깨울 수 없습니다.

답변

0

OpenOCD에는 GDB의 변경과 관련된 버그가 있습니다. 세부의 비트 here이며, patch 제출되었으며, 해결 방법이 제공됩니다

이 CFG이 추가 :이 해결 방법을 테스트

$_TARGETNAME configure -event gdb-detach { shutdown } 

, 그리고 작업을 수행하지만,에 끝으로, 파이프 모드가 Windows에서 느린 편이어서 TCP를 사용하기가 쉽지 않지만 덜 편리합니다.

관련 문제