c# - Windows 10 异常不包括行号

标签 c# windows-10 win-universal-app

我有一个 Windows 10 通用应用程序,它在 Exception 对象 .ToString() 方法中不包含行号。

如果我有这样的方法

private void ThrowException()
{
    try { throw new Exception("Test"); }
    catch (Exception e) { Debug.WriteLine(ex.ToString()); }
}

当我检查输出时,我没有看到引发异常的行号。我向项目添加了构建后事件:

xcopy $(ProjectDir)$(OutDir)*.pdb $(ProjectDir)$(OutDir)AppX\*.pdb

pdb 文件位于 Debug 文件夹中,但不在 AppX 文件夹中。

我错过了什么?谢谢,

编辑

我创建了一个新项目来测试它。我有一个页面(MainPage.xaml)。这是文件背后的代码:

using System;
using Windows.UI.Popups;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Navigation;

namespace App2
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            InitializeComponent();
        }

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            ThrowException();
        }

        private async void ThrowException()
        {
            try { throw new Exception("Test"); }
            catch (Exception ex) { await new MessageDialog(ex.ToString()).ShowAsync(); }
        }
    }
}

和以前一样,我添加了构建后事件宏:

xcopy $(ProjectDir)$(OutDir)*.pdb $(ProjectDir)$(OutDir)AppX\*.pdb

我在发布配置中进行编译,并确保选中“使用 .NET native 工具链编译”选项。

C:\VS2015\App2\App2\bin\x86\Release\AppX 中的 Appx 文件夹确实存在文件 App2.dll 和 App2.pdb。

当我运行应用程序时,我会在弹出对话框中看到以下内容:

System.Exception: Test
  at SharedLibrary!<BaseAddress>+0x122d16

谢谢

编辑2

我还在没有 native 工具链的调试中尝试过此操作。在这种情况下,我没有在 Debug 下的 AppX 文件夹中看到 pdb 文件

这种情况下的消息是:

System.Exception: Test
  at App2.MainPage.<ThrowException>d_2.MoveNext()

谢谢

最佳答案

我在原来的答案中犯了一个错误,并且使用的是立即窗口输出,而不是代码可以从异常对象中获取的内容。

经过更多研究,似乎不再支持此功能。

参见corefx #1420及相关corefx #1797 .

另外,SO 上有这样的引用:How to get StackTrace without Exception in Windows Universal 10 App

关于c# - Windows 10 异常不包括行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34833573/

相关文章:

c# - 将 FlipView 与 ObservableCollection<writeablebitmap> 绑定(bind)

git - Windows 10 Git Bash 在提交 : is this normal? 时挂起大约五分钟

windows-8 - 使用类库 dll 中的 UserControl 时出现 XamlParseException

c - 动态生成的代码在错误的地址执行

c# - 从异步任务中止当前进程

c# - 有时可以获取文本但有时显示 "Unable to find element with selector"

c# - Global.asax - Application_Error - 如何获取页面数据?

c# - 如何让我的 UWP 应用程序像 Microsoft UWP 应用程序(邮件、Groove 音乐)一样快?

c# - UWP 应用堆栈跟踪中的行号

cordova - 初始化 Cordova :missing command error in windows phone 8. 1 时出错