底线问题:是否可以让Xcode等待应用程序启动,然后从Xcode外部启动应用程序,然后让Xcode在断点处停止?
-下面的详细说明-
我想调试(逐行)一个简单的C程序,该程序需要使用10.8.5上的Xcode 4.6.3将文本通过管道传递到stdin中。
为了这样做,所以我需要像这样启动程序
$ cat in.txt | ./mysimpleprogram> out.txt
并使Xcode调试器在断点处停止。
我按照在此答案https://stackoverflow.com/a/13006633/2779792中找到的说明进行操作,但Xcode不会在断点处停止。
重现问题
注意:在Xcode偏好设置->位置->派生数据中,我选择了“相对”
程序运行并打印Hello,World!如预期的那样,Xcode说“已完成运行HelloWorld:HelloWorld”。它并没有在任何断点处停止。
所需的行为,Xcode应该在断点处停止,并允许我逐步执行代码。
感谢您的帮助或提示。
最佳答案
在调试器注意到并附加到您的进程的过程中,该进程的执行已超过断点。要在此设置中从调试器获得确定性的行为,您需要在第一个断点之前暂停过程的执行,并等待调试器连接。一种简单的方法是添加代码以发送STOP信号:
raise(SIGSTOP);
执行将在此时停止,并且调试器在连接时将自动继续。
关于c - 从Xcode外部启动应用程序时的Xcode调试断点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19084088/