如何在 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 中获得正确的时间间隔?