当前位置:  开发笔记 > IOS > 正文

如何在控制台或文件中获取os x应用程序的输出?

如何解决《如何在控制台或文件中获取osx应用程序的输出?》经验,为你挑选了3个好方法。

我正在编写一个嵌入Mono的Cocoa应用程序.我想运行并在终端中查看我的调试输出.在我正在使用的Cocoa方面NSLog(),在我正在使用的Mono方面Debug.Write().我可以在xcode的控制台中看到我的调试输出,但不能在终端中看到.这是我试过的:

$: open /path/build/Debug/MyProgram.app
$: open /path/build/Debug/MyProgram.app > output
$: open /path/build/Debug/MyProgram.app 2> output

在终端,但我没有在控制台或"输出"输出.

什么是正确的命令?

PS.我的最终目标是编写一个vim插件来管理,构建,运行,调试xcode项目.如果你能让这个vi输入管理器使用xcode,你可以省去这个麻烦.



1> Lily Ballard..:

Chris很好地概述了控制台的工作原理,但是要专门回答您的问题:如果您想直接在终端中查看结果,则需要将构建的产品作为终端的子项运行,这意味着使用类似的东西

/path/debug/build/MyProgram.app/Contents/MacOS/MyProgram

启动应用程序.



2> Chris Hanson..:

Mac OS X上的终端只是另一个应用程序.打开文本I/O的终端窗口并不是每个应用程序的固有功能,因为它在Windows上.

此外,open /path/to/MyApp.app不执行MyApp.app作为shell的子进程,它会向操作系统的启动基础结构发送一条消息,要求以正常方式执行应用程序,就像在Finder中双击它或单击它一样在码头.这就是为什么你不能只重定向其输出以查看你的应用发送到的内容stdoutstderr.

您可以使用Console.app看到以正常方式启动的应用程序的输出,因为推出的基础设施特别是他们发送stdoutstderr那里.您还可以使用asl例程查询日志,或者根据需要执行更复杂的日志记录.



3> Grant Limber..:

在/ Applications/Utilities中打开Console.app.所有NSLog输出都将打印在系统日志中.

或者,如果从Xcode中运行它,则所有输出都将在Debug控制台中打印.

我现在不在我的Mac上,也不记得调试控制台所在的命令序列或菜单,可能是Build菜单?


并不意味着你必须通过使用完全naff和崩溃的IDE来削弱你的开发.:)
推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有