문제

상황은 다음과 같습니다.

충돌하는 Linux 이진이 있습니다. 로그 파일, 추적 파일 등이 없습니다. 디버거를 첨부 할 수 있어야합니다 (소스에 로컬로 소스가 있습니다). 오류를 추적해야합니다.

이 문제에 접근하는 가장 쉬운 가장 좋은 방법은 무엇입니까?

도움이 되었습니까?

해결책

원격 디버깅은 다소 간단합니다. 대상 플랫폼에서 GDBServer로 응용 프로그램을 시작하면서 들어오는 TCP 연결을들을 수있는 호스트 및 포트를 지정합니다.

  gdbserver HOST:PORT PROG [ARGS ...]

개발 워크 스테이션에서 크로스 타겟 GDB를 시작하십시오.

  powerpc-7450-linux-gnu-gdb PROG

스트립되지 않은 실행 파일을 지정하십시오. GDB 콘솔에서 다음을 입력하십시오.

  target remote HOST:PORT
  break main
  continue

GDB 및 GDBServer를 사용한 원격 크로스 타겟 디버깅

다른 팁

GDB가 원격 디버깅을 지원하는 것처럼 보입니다.

나는 그것을 사용한 적이 없지만 http://davis.lbl.gov/manuals/gdb/gdb_17.html 시작처럼 보입니다.

기본적으로 대상 기계에서 GDBSERVER 아래 프로그램을 실행하고 GDB는 (TCP 또는 Serial을 통해) GDBSERVER에 연결합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top