Slide 22
Slide 22 text
デバッグ対象をptraceにより起動直後に停止させて、VSCodeやgdbに明け渡す
1. Dbgee `fork()`
2. 親(dbgee)
3. 子を`waitpid()`
6. `SIGTRAP`を受信
7. `ptrace(PTRACE_CONT, …, SIGSTOP)`で、子からデタッチしつつ子を停止
8. Gdbやそのほかのデバッガを起動し、Attach by PIDで子にアタッチさせる
VSCodeなら、dbgeeプラグインとのfifoコネクションにアタッチリクエストを送信
2. 子
4. `ptrace(TRACE_ME, …)`
5. `execve(ターゲットPATH, …)`
ここでSIGTRAPが発生 ← ptraceの仕様
22
現Dbgeeの仕組み兼Ptraceのおさらい