inh*_*dle 5 c debugging xcode child-process
我目前正在用 C 语言制作一个命令行应用程序,其中创建了许多子进程。所以我需要调试这个子代码。我在 Xcode 上创建了一个子进程,如下所示。(参见断点和运行光标。)

执行一些语句后,我让 xcode 将 GBN(885) 连接到 xcode 调试器,如下图所示。

这不起作用。如何将子进程附加到 xcode 调试器?先感谢您。
谷歌和苹果开发者页面在这个问题上真的保持沉默,最后我找到了一个很好的解决方法。当我们将 Xcode 调试器附加到正在调试的进程的子进程或已由 Xcode 调试器、gdb 或 lldb 调试的进程时,会出现此错误消息。

为了避免出现此恼人的消息,首先将kill(0, SIGSTOP)语句放在要停止子进程的位置。在下图中,我kill在创建子项之后立即放置了该语句。

其次,使用gcc-g 选项编译源代码。
$ ls
GBN.1 gbn.c gbn.h type.h util.c util.h
$ gcc *.c -g
$ ./a.out
[1]+ Stopped ./a.out
$ ps -ef | grep a.out
501 628 600 0 9:33AM ttys000 0:00.00 ./a.out
501 629 628 0 9:33AM ttys000 0:00.00 ./a.out
Run Code Online (Sandbox Code Playgroud)
现在,我们所要做的就是告诉 Xcode 调试器通过 pid 附加到进程。点击Debug菜单然后找到Attach to process选项点击By Process Identifier (PID) or name选项。然后输入子进程(或父进程)的 pid,然后单击附加按钮。

享受调试的乐趣!
