1

我正在研究不同 fork 实现方法的细节。以下链接用于 fork 实现, http://doxygen.scilab.org/5.3/d0/d8f/forkWindows_8c_source.html。这个 fork 实现是通过使用 ntdll 导出的 ZwXXX 函数实现的。

我可以在 vs2012,windows 7 -64 位机器上编译这个。但是在测试中,我没有得到预期的输出。在分叉时,会创建新的子进程,但该进程会在恢复其挂起的主线程时立即返回。它不会再次调用 fork 调用。有没有人尝试为 Windows 实现 fork ?我在这个代码片段中缺少什么?过去一周我一直在研究不同的分叉实现。请帮忙。

4

1 回答 1

0

在将 fork api 移植到 Windows 时,我也遇到了类似的问题,我使用了一个临时解决方案:

  • 在子进程的fork之后添加Sleep()。
  • ctrl+F5 运行父进程。
  • 然后将子进程附加到 VS 调试器。
  • 使用 F5 键继续调试。
  • 我们还可以将父进程附加到 VS 调试器。

有没有更好的解决方案来调试分叉的子进程。

于 2012-09-07T11:25:54.920 回答