참고한 것들
개요
Scope
- 이 글의 범위는 처음
gdb
혹은lldb
를 설치하고 session 을 시작하는 것 까지이고,gdb
,lldb
를 위한 compile option 이나 session 내에서의 command 는 여기서 다루지 않는당.
gdb
는gcc
의 debug tool 이고,lldb
는 LLVM 의 debug tool 이다.- 인데 이 둘다 유사한 점이 많기 때문에, 싸잡아서 정리해 보는 사용법
gdb
- 일단
build-essential
같은거로gcc
를 설치해도gdb
가 같이 설치되지는 않는다. - 그래서 우선
gdb
를 설치해줘야 함
sudo apt-get install -y gdb
- 그리고 session 을 시작할 때는 binary 이름을 넣거나
gdb /path/to/binary
- 특정 PID 를 분석하고 싶다면,
-p
옵션을 사용해 주면 된다.- 다만 이때는
ptrace
설정에 따라 에러가 날 수 있다. - 만약에
ptrace: Operation not permitted.
와 같은 에러가 난다면, sysctl
에서kernel/yama/ptrace_scope
설정을0
으로 바꿔주자.
- 다만 이때는
gdb -p $PID
lldb
#draft
lldb
는 나중에 정리할란다