2
試圖在C中構建一個用於模糊測試的調試器。構建一個Linux調試器C
基本上在Linux中,我只是想通過fork然後execve()啓動一個進程,然後監視這個進程,看看它是否在1秒後崩潰。
在linux上,這是通過創建過程來完成的,然後監視它爲看起來像是崩潰的任何事情生成的信號?還是關於監控應用程序?我不確定。
試圖在C中構建一個用於模糊測試的調試器。構建一個Linux調試器C
基本上在Linux中,我只是想通過fork然後execve()啓動一個進程,然後監視這個進程,看看它是否在1秒後崩潰。
在linux上,這是通過創建過程來完成的,然後監視它爲看起來像是崩潰的任何事情生成的信號?還是關於監控應用程序?我不確定。
使用ptrace(2)
系統調用:
被跟蹤時,孩子會在每次的信號 停止投放,即使信號被忽略。 (例外情況是 SIGKILL,具有其通常的效果。)父母將通過 通知其下一個等待(2),並且可以檢查並修改子進程,但其 已停止。父母然後導致孩子繼續,可選地,忽略遞送的信號(或者甚至遞送不同的信號 代替)。
的信號,你應該會感興趣,就於已經墜毀是SIGSEGV
(限制存儲器存取),SIGBUS
(未對齊的數據訪問),SIGILL
(非法指令),SIGFPE
(非法浮點運算)的過程中,等等。