반응형
작성일: 2024년 12월 10일
대화형 방식으로 gdb 명령 사용하기 (interactive mode)
## 현재 실행중인 프로세스 '1234'에 attach하기 위해 아래와 같이 명령을 실행
$ gdb -p 1234
## 프로세스 '1234'의 모든 thread 목록을 출력
$ info thread
... ( 출력 내용 생략 ) ...
... 모든 쓰레드 정보가 출력됨 ...
## 전체 thread 중에서 thread '5'의 정보를 보기
$ thread 5
## thread '5'의 backtrace 정보를 출력
$ bt
batch 방식으로 gdb 명령 사용하기 (non-interactive mode)
gdb 명령을 batch 방식으로 사용할 수 있다.
아래 예제처럼 2개의 gdb 내부 명령을 사용하고자 할 때는 '-ex' 옵션을 2번 사용하면 된다.
이렇게 하면, -ex 옵션 순서에 따라(즉, 왼쪽에서 오른쪽으로 순서에 따라) 명령이 차례대로 수행된다.
$ gdb -batch -ex "info thread" -ex "thread apply all bt" -p 1234
위 예제의 경우,
- 전체 thread list를 출력하고,
- 각 thread의 call stack을 출력한다.
'C language' 카테고리의 다른 글
Linux에서 Coredump 파일 생성하도록 설정하기 (0) | 2024.12.10 |
---|---|
C언어 - Thread & Mutex Lock & Condition (0) | 2023.03.20 |