UWP 应用的堆栈跟踪中的行号
Posted
技术标签:
【中文标题】UWP 应用的堆栈跟踪中的行号【英文标题】:Line numbers in stack traces for UWP apps 【发布时间】:2016-07-03 00:10:08 【问题描述】:我在 Visual Studio 2015 中创建了一个空白的通用 Windows 应用项目。
我添加了类似的内容:
try
string foo = null;
int len = foo.Length;
catch (Exception ex)
System.Diagnostics.Debug.WriteLine(ex);
我得到如下堆栈跟踪:
Exception thrown: 'System.NullReferenceException' in TestStackTraces.exe
System.NullReferenceException: Object reference not set to an instance of an object.
at TestStackTraces.App.OnLaunched(LaunchActivatedEventArgs e)
即,没有行号。
如何显示行号?
【问题讨论】:
看看这个答案:***.com/questions/3328990/… @TroelsLarsen,实际上,在 WIn10/UWP 上不再支持此功能。 ***.com/questions/34833573/… 这是因为 UWP 中的 U。通用意味着您的目标是 CLR 的 .NETCore 版本,目前是 CoreCLR。它更小,因此更容易移植到不同的平台。两者都导致缺少的功能,您没有可以在运行时从 PDB 文件中读取行号信息的 COM 组件。桌面版 CLR 中的 Diasymreader.dll。 corefx 团队中似乎没有人知道这一点,嗯,有点吓人。微软丢失了很多基础知识,营业额很高,也许他们应该问更多 SO 问题:) 【参考方案1】:这似乎不再受支持。我在这里重新发布我的答案,因为当我搜索另一个问题的答案时,很难在搜索结果中找到它。希望这个问题能帮助人们更轻松地找到这些信息。
参考:windows 10 exceptions not including line numbers
其他信息:
请参阅corefx #1420 和相关的corefx #1797。
另外,在 SO 上有这个参考:How to get StackTrace without Exception in Windows Universal 10 App
【讨论】:
以上是关于UWP 应用的堆栈跟踪中的行号的主要内容,如果未能解决你的问题,请参考以下文章