Dan*_*Dan 2 c linux debugging
尝试在C中构建调试器以进行模糊测试.
基本上在linux中,我只想通过fork然后执行execve()来启动进程,然后监视此进程以查看它是否在1秒后崩溃.
在linux上,这是通过创建进程然后监视它为看起来像崩溃的任何东西生成的SIGNAL来完成的吗?或者它是关于监控应用程序和?我不确定.
Bla*_*iev 6
使用ptrace(2)系统调用:
ptrace(2)
在被跟踪时,即使信号被忽略,每次信号传递时,孩子都会停止.(例外情况是SIGKILL,它具有通常的效果.)父级将在下一次等待(2)时得到通知,并且可以在子进程停止时检查和修改子进程.然后父母让孩子继续,可选地忽略传递的信号(或者甚至传递不同的信号).
关于崩溃的过程,您应该感兴趣的信号是SIGSEGV(受限内存访问),SIGBUS(未对齐数据访问),SIGILL(非法指令),SIGFPE(非法浮点运算)等.
SIGSEGV
SIGBUS
SIGILL
SIGFPE
归档时间:
14 年,8 月 前
查看次数:
181 次
最近记录: