최초작성

2006/12/28 16:43:06

gdb 를 쓰면서 유용했던 것들을 적어두는 페이지. Emacs 가 사용가능한 환경이라면 DebuggingWithEmacs 를 참고.

pretty print

.gdbinit

디버깅을 자주 하는 상황이라면 .gdbinit 을 잘 써먹자

command 명령 써먹기

http://dreamstorm.tistory.com/13 에 적어뒀던것을 옮긴다.

실행흐름이 어떤 브레이크에 도달했을때 지정해둔 명령어들을 실행할수 있다. 여러모로 유용한데 나는 watch 를 위한 목적으로 자주 쓴다. 물론 watch 도 gdb 가 지원을 하지만 command 를 먼저 알게 되서...

예를들어 아래와 같은 코드가 있고

i*width+j 의 값을 매번 찍어보고 싶다면( 뻔한값을 찍는것이니 별의미는 없고 예제삼아서 눈에 보이는 코드를 골라봤다. 그리고 이런용도로는 watch 가 더 적당하다. )

에 브레이크를 건다. 만약 이 브레이크포인트가 6 번이라면

요렇게 입력을 해주자. 그러면 매번 브레이크가 걸릴때마다 gud 버퍼에서 이런 결과를 볼수 있다.

매번 break 가 걸리는게 귀찮다면 command 의 마지막 부분에 continue 를 넣어주면 된다.

.gdbinit 안에 포함하려면 요런식으로 하면 된다. command 에 인자를 주지 않을경우 마지막 브레이크포인트에 command 가 걸린다는것을 명심하자.


CategoryGdb

using GDB (last edited 2006-12-28 09:21:56 by dreamstorm)