Debugging 调试时是否可以写入文件而不是控制台?
在Xamarin中,我经常使用控制台(WriteLine)调试应用程序 是否可以将一些行直接写入主机上某个位置的文件,而不使用控制台进行调试?我不想在手机上写文件,因为我将在开发机器上实时使用此文件。简单方法:Debugging 调试时是否可以写入文件而不是控制台?,debugging,xamarin,Debugging,Xamarin,在Xamarin中,我经常使用控制台(WriteLine)调试应用程序 是否可以将一些行直接写入主机上某个位置的文件,而不使用控制台进行调试?我不想在手机上写文件,因为我将在开发机器上实时使用此文件。简单方法: 在应用程序中使用Console.WriteLine 在主机上,执行以下操作: /Developer/MonoTouch/usr/bin/mtouch --logdev > ~/myfile.log 现在您的Console.WriteLine输出将在~/myfile.log中
- 在应用程序中使用Console.WriteLine
- 在主机上,执行以下操作:
/Developer/MonoTouch/usr/bin/mtouch --logdev > ~/myfile.log
~/myfile.log
中结束。缺点是,你会将所有内容写入设备日志,包括iOS本身和任何其他应用程序(有时这可能很重要)。然而,通过一些巧妙的grep用法,应该可以只过滤掉您的输出
更复杂的方法是将Console.WriteLine输出重定向到某种网络流,该网络流通过wifi将数据发送到主机(例如web服务)
简单的部分是重定向Console.WriteLine输出:
Console.SetOut (myNetworkStream);
其余部分将留给读者作为练习,因为这不是问题的一部分:)如果您在console中工作,也许您可以通过在console命令后附加“>filename.txt”来完成。我认为,如果我只是将它附加到System.console.WriteLine,它将被解释为与任何其他字符一样。否则控制台会变得疯狂。:)啊哈,为什么不打开一个文件并写入它而不是控制台呢。抱歉,只是头脑风暴,我很久以前就用过Java。它在设备上运行,我需要在主机上实时访问它。如果您指定iOS或Xamarin,这将很有帮助。然而,无论哪种情况,答案都可能是“不”。在iOS中,控制台别名为设备日志,可以从主机访问。除此之外,您可能还需要一个Web服务来向其写入日志信息。