gdb commands 이용하기

gdb/ddd 에서 commands 를 사용하면 간편하게 breakpoint 의 상태를 출력할 수 있다. 물론 다양하게 응용이 가능하겠지만, 매뉴얼에서 제시한 케이스가 굉장히 편해서 따로 정리한다. 참고 : 매뉴얼 Breakpoint 상황을 출력하기 위 코드에서 if 문에 breakpoint 를 걸고, 할당받은 시작 주소와 그 크기를 보고자 한다. 한두번 발생하는 거라면 breakpoint 를 걸어 둔 다음 print 나 graph display […]

더 읽어보기

gdb로 Machine Code 레벨 디버깅

gdb로 Machine Code 레벨 디버깅을 할 일이 있나 싶었는데, Callstack에서는 불친절하게도 아래와 같은 Function (=Start Address) + Hex 값의 지점을 가리켜 주기 때문에 소스 코드를 따라가지 못하는 상황이 발생한다. (더군다나 디버깅으로 재현은 안 되는 경우 SegFault 로 인한 Interrupt 로도 잡을 수 없다. 하지만 Callstack을 전달받았으니 원인 규명은 해야 하고…) 여기서 함수 testFunc의 +0x2d6 부분을 […]

더 읽어보기