デバッガの実装まとめ(仮)
デバッガの内部について調べてるのでまとめ、追記するかも
- Linux の場合 ptrace が昔から使われている
- How Does a C Debugger Work? (GDB Ptrace/x86 example) - (gdb) break *0x972 gdb の内部(英語)
- ptraceシステムコール入門 ― プロセスの出力を覗き見してみよう! - プログラムモグモグ ichyny さんによる入門
- [Debug] ptrace によるデバッグ - th0x4c 備忘録 コード付きの解説
- マルチスレッドで gdb debug についての資料 → Non-stop multi-threaded debugging in GDB | Mentor Graphics Communities
- ptrace を用いたシステムコールをトレースするツールの strace もある
- Mac でも ptrace が使える? Windows は Windows API を使う *1
- ブレークポイントは ptrace の機能ではない
- 該当部分を SIGTRAP を生成するような命令に差し替える → 実行時に書き戻す。
- コード付きの解説 How debuggers work: Part 2 - Breakpoints - Eli Bendersky's website