Windows Store 应用中运行时项目的 StackTrace 替代方案

3

通过使用StackTrace类,我可以将有关应用程序运行的所有信息记录到隔离存储中的文本文件中。

但是,在运行时项目的System.Diagnostics命名空间中似乎没有StackTrace。

是否有替代方法?


运行时项目是什么意思? - user3373870
@user3373870 我认为 OP 的意思是当应用程序在发布版上运行时。 - McGarnagle
@golldy - 你具体遇到了什么问题?是保存文本到文件吗?还是获取完整的堆栈信息? - Filip Skakun
2个回答

4

你能够抛出一个异常并检查异常的 StackTrace 吗?


不知何故,在检查后发现Exception中的StackTrace显示相当短,因此最好编写一些带有属性参数的日志记录方法,例如CallerFilePathAttributeCallerLineNumberAttributeCallerMemberNameAttribute。实际上,这是我在工具包中有时使用的方法 - 在此处检查DC.TraceLocalized() - Filip Skakun

3
如果您的目标是在Release版本中编写调试信息,则可以使用Trace而不是Debug。与Debug不同,Traces在Release版本中不会被忽略。 MSDN链接

那与StackTrace有什么关系? - Filip Skakun
1
@FilipSkakun,OP的问题是“我曾经将有关应用程序运行的所有信息记录到文本文件中。” 我的假设是OP正在使用Debug.Write来记录他的应用程序过程,正如您所知,当使用Release模式部署项目时,Debug语句会被忽略。 我猜我们两个以不同的方式理解了op的问题。 - user3373870
没错。OP 问的是 StackTrace,它用于收集堆栈信息。 - Filip Skakun
为了让事情更清晰,我正在使用 Silverlight 项目中的 stacktrace 进行调试和记录日志。 - golldy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接