'gdb arm'에 해당되는 글 1건

  1. 2013.09.24 GDB

GDB

원래는 GDB 서버랑 클라이언트로 나누어서 보통 보드에다가 서버 돌리고, 호스트에서 접속해서 제어하는 방식을 쓰는데 뭐 접속이 안되서 그냥 클라이언트로 돌렸다. (당연히 해당보드에 맞게 컴파일해야 한다.)

 

gdb는 간단하게 다음과 같이,

gdb ./program_name arg1, ...

으로 실행하면 된다.

 

break 방법으로

(gdb) b main                    //함수로 break

(gdb) b crc.c:32               //소스파일 내 라인으로 break

 

break 정보를 볼라면,

info break

 

하면 되고, 다음의 명령어로 비활성/활성/삭제가 가능하다. (#은 break 에 해당하는 넘버)

disable break #

enable break #

delete break #

 

레지스터 내용을 볼라면,

info reg

 

특정 변수 값을 볼라면,

print var_name (변수 값 출력)

 

현재까지 호출된 fuction 을 backtrace할라면,(괄호는 간단한 명령어)

backtrace(bt)

 

스레드 관련 명령어는 다음과 같다.

info threads

위 명령으로 thread 별 lwp pid를 확인할 수 있다.(LWP:LightWeight Process)

 

스레드 인덱스 별로 backtrace 할려면,

t 13    // 13은 스레드 인덱스

와 같이 하면 된다.

 

Posted by code cat