[[katsuhiro]] -> [[katsuhiro/refmon]] -> katsuhiro/refmon/execve

*sys_execve に関すること [#tf9f7818]

**ptrace で監視されているときの sys_execve の動作 [#r794a89e]
ptrace で監視されているときは実行直後に SIGTRAP が送られるため、sys_execve のあと最初にくる SIGTRAP は無視している。

-問題: ブレークポイント/トラップエラーで落ちるソフトウェアがある。
--問題発生の流れ: make がトラップを受け取ったと言って落ちる。なぜか調べたら子プロセスに sh が居て sys_execve を発行していた。
--原因: sys_execve の後に SIGTRAP が送られるため。
--解決: sys_execve のあと一回目の SIGTRAP は無視する。
--参考: (manpage execve より)もし元のプログラムが ptrace されていると、execve() が成功した後にそのプログラムに SIGTRAP が送られる。




トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS