如何在 Windows Universal 10 App 中无异常地获取 StackTrace

Posted

技术标签:

【中文标题】如何在 Windows Universal 10 App 中无异常地获取 StackTrace【英文标题】:How to get StackTrace without Exception in Windows Universal 10 App 【发布时间】:2015-10-29 19:16:10 【问题描述】:

我知道可以使用:

System.Diagnostics.StackTrace t = new System.Diagnostics.StackTrace();

但这似乎不再起作用,因为它需要一个异常对象。

【问题讨论】:

【参考方案1】:

试试 Environment.StackTrace。请记住要小心之后的逻辑,因为堆栈可能会以不可预知的方式发生变化。这里有一些讨论:https://github.com/dotnet/corefx/issues/1420

【讨论】:

【参考方案2】:

查看.NET Core's github 上的讨论: Where have StackTrace and StackFrame gone?.

.NET Core 中没有这个类,但有一个开放的任务可以实现它:Implement System.Diagnostics.StackTrace/StackFrame - 只是还没有人积极致力于它。

【讨论】:

【参考方案3】:

在 .Net Core 2.0 可用之前,您可以按照How to split a stacktrace line into namespace, class, method file and line number? 的答案中的建议解析 Environment.StackTrace 字符串 - 使用 RegEx 或 StackTraceParser

【讨论】:

以上是关于如何在 Windows Universal 10 App 中无异常地获取 StackTrace的主要内容,如果未能解决你的问题,请参考以下文章

如何在Windows 10 Universal中获取设备的唯一标识符?

如何检查 Windows Universal 10 应用程序是不是已关闭而不是最小化?

在Windows 10 Universal App上添加Youtube嵌入视频

当应用程序不在前台时,如何在 Windows Universal 中获得正确的时间间隔?

iOS 和 Universal WINdows App 中的屏幕密度

Windows Universal App 维护开放的 WebSocket