2009-03-13 3 views
3

여기 상황은 다음과 같습니다.원격 Linux 바이너리를 디버깅하는 방법은 무엇입니까?

충돌하는 Linux 바이너리가 있습니다. 로그 파일, 추적 파일 등이 없습니다. 디버거를 연결할 수 있어야합니다 (로컬로 소스가 있음). 오류를 추적 할 수 있어야합니다.

이 문제를 해결하는 가장 쉬운 방법은 무엇입니까?

답변

6

원격 디버깅은 오히려 간단하다 :

gdbserver HOST:PORT PROG [ARGS ...] 

개발 워크 스테이션에서 십자가를 시작, : 들어오는 TCP 연결을 청취 호스트와 포트를 지정하면서 대상 플랫폼에, GDBserver와 응용 프로그램을 실행 - 대상 GDB :

powerpc-7450-linux-gnu-gdb PROG 

스트립되지 않은 실행 파일을 지정해야합니다. gdb를 콘솔에서 다음을 입력합니다

target remote HOST:PORT 
    break main 
    continue 

Remote cross-target debugging with GDB and GDBserver

0

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

나는 그것을 사용한 적이 없지만 http://davis.lbl.gov/Manuals/GDB/gdb_17.html은 처음처럼 보입니다.

기본적으로 대상 컴퓨터의 gdbserver에서 프로그램을 실행하고 gdb는 gdb 서버에 (TCP 또는 직렬로) 연결합니다.

관련 문제