在 xcode 中附加到进程时不执行 print 语句

pot*_*ato 3 debugging xcode ios

我已成功通过 xCode 中的 PID 号附加到进程。令人沮丧的是,我在使用正在运行的应用程序进行操作时没有看到任何 print() 语句被执行。这正常吗?我应该在某处选中一个复选框吗?

Ken*_*ses 5

这个是正常的。进程在创建时继承其标准输入、输出和错误输出。之后,进程可以更改自己的标准文件描述符,但不能从外部更改它们。

因此,通过 Xcode 之外的其他方式启动的程序不会将其输出定向到 Xcode 的控制台窗口。它的输出到底指向何处取决于它的启动方式。如果它是从 GUI(例如 Finder、Dock、其他 GUI 应用程序)启动的,则其正常输出可能会被丢弃(定向到 /dev/null),并且其错误输出将转到控制台日志(可使用 /Applications/Utilities 查看) /控制台.应用程序)。如果它直接从终端中的 shell 运行,那么它的输出将进入该终端窗口。