2014-05-12 50 views
3

在StackTrace類的幫助下,我用於將有關應用程序運行的所有信息記錄到隔離存儲中的文本文件。StackTrace替代Windows Store應用程序中的運行時項目

但是,StackTrace似乎不在運行時項目的System.Diagnostics名稱空間中。

是否有替代方案?

+0

您是什麼意思的運行時項目? – user3373870

+0

@ user3373870我認爲OP應該意味着應用程序在Release版本上運行。 – McGarnagle

+0

@golldy - 你有什麼特別的問題實現?它是否將文本保存到文件?獲取完整的堆棧信息? –

回答

4

你能拋出異常並檢查異常的StackTrace嗎?

+0

不知何故,在檢查了'Exception'中的'StackTrace'看起來似乎很短,並且有了這些信息,最好簡單地寫一些記錄方法,這些方法需要帶有諸如'CallerFilePathAttribute','CallerLineNumberAttribute'等屬性的參數或'CallerMemberNameAttribute'。實際上,這正是我在工具包中有時使用的方式 - 請在此查看['DC.TraceLocalized()'](https://winrtxamltoolkit.codeplex.com/SourceControl/latest#WinRTXamlToolkit.Debugging/WinRTXamlToolkit.Debugging.Shared/DebugConsoleOverlay.cs ) –

3

如果您的目標是在Release版本中編寫調試信息,那麼您可以使用Trace而不是Debug。 Unline Debug,發佈版本中不會忽略跟蹤MSDN link

+0

與StackTrace有什麼關係? –

+1

@ FilipSkakun,操作問題讀作「我用來記錄所有**關於應用程序運行到文本文件的信息。」 我的假設是OP使用Debug.Write記錄他的應用程序進程,因爲您可能知道當使用發佈模式部署項目時,調試語句會被忽略。我猜測我們都以不同的方式理解了op問題。 – user3373870

+0

沒錯。 OP詢問['StackTrace'](http://msdn.microsoft.com/en-us/library/system.diagnostics.stacktrace(v = vs.110).aspx),雖然這是收集堆棧信息。 –

相關問題