WinRT应用程序,在随机情况下出现未处理的异常

4
在开发过程中,我遇到了随机出现未处理异常的情况,但大多数是在关闭应用程序后。设置所有选项为“断开异常”并不会触发任何代码。有没有人经历过相同的情况?我是在发布预览版本和Visual Studio RC版本上开发的。
未处理异常截图如下:Screenshot unhandled exception

你是否已经连接了本地调试器? - James McNellis
不,我只是在使用Visual Studio(调试模式)运行应用程序。附加第二个调试器无效。 - markwilde
1个回答

8

我解决此问题的第一步是:

  • 在项目属性(调试选项卡,调试器类型)中启用本地调试(感谢James!我现在知道你的意思了:-))
  • 将符号服务器设置为正确的位置(工具、选项、调试、符号、所有模块)

然后开始调试。这需要几分钟来加载所有符号....

我追踪到了绑定到Bitmap时出现多个异常,其URL未被解析。GridView绑定到类的SmallImageSource位图属性。调试时,这将在本地代码中引发异常,但不会跟踪到输出窗口或在应用程序中引发异常。最终我的应用程序崩溃了...修复这些资源后,我的应用程序不再崩溃。虽然在一个小场景中无法重现。以下是它崩溃的应用程序代码的一小部分。GridView嵌入在SemanticZoom控件中

XAML(在SemanticZoom控件中使用)

            <GridView.ItemTemplate>
                <DataTemplate>
                    <Grid Background="Gray" Width="300" Height="80">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="80"/>
                            <ColumnDefinition/>
                        </Grid.ColumnDefinitions>
                        <Image Source="{Binding Group.Key.SmallImageSource}" Stretch="Uniform" Margin="15" Grid.Column="0"/>
                        <TextBlock Text="{Binding Group.Key.Name}" Margin="0,10" TextAlignment="Center" Grid.Column="1" VerticalAlignment="Center"/>
                    </Grid>
                </DataTemplate>
            </GridView.ItemTemplate>

C#(这里是一个未解析到本地资源的URI)

public Uri SmallImage
    {
        get
        {
            return new Uri("ms-appx:///Resources/Images/SubCategories/" + Id + "_" + FunctionHelper.StripCharacter(Name) + ".png", UriKind.Absolute);
        }

    }
    public BitmapImage SmallImageSource
    {
        get
        {
            return new BitmapImage(SmallImage);
        }
    }
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接