根据可用的工具有两种不同的方法:
你的调试器(debugger)可能有允许你选择是否跟踪调用‘fork()’以后的父或子进程 的选项,对于某些目的来说那已经足够了。
替换方法是,你的调试器可能有一个选项允许你将它依附(attach)到一个正在执行 的程序。这样你可以依附调试器到一个已经开始执行的子进程。如果你不需要从 子进程一开始就开始测试,这通常已经足够。否则,你会希望在子进程的‘fork()’ 调用后插入一个‘sleep()’调用,或者插入如下的循环:
{
volatile int f = 1;
while(f);
}
这样子进程将一直在此循环不往下执行直到你用调试器设定‘f’为0。
并且记住,使用调试器并非是找到你程序中错误的唯一方法;在很多Unix系统 上有一些工具程序可用来跟踪系统调用和信号,而且丰富的日志经常也是有 用的。