WPF - 下载.Net4 Framework源码,查找OpenExpressApp中DataGrid枚举值更新错误的原因
2010-06-09 18:10
302 查看
OpenExpressApp之前使用了DataGrid来作为列表控件,在内置支持的属性编辑方式中介绍了枚举类型的使用,之前在.Net35下都是好的,一切正常,但是前一阵子OpenExpressApp升级到了.Net4了,对于枚举属性的列表控件编辑时会出现错误,更新一个枚举值后,控件显示有错误,如下所示:
查看堆栈,发现只能看到一个代码段,其余的都是.Net Framework内部的代码,看了代码方法,但是不太明白,我想最好的办法就是查看代码了,以前都是用Reflector查看代码,但是那只是静态的看代码,想起在VS2008下可以查看.Net Framework源码,我何不在VS2010下试试呢,于是开始去找Net4源码。
安装后只有两个目录【Source】和【Symbols】
配置Option,去除【Enable Just My Code】,记住也不要设置【Enable .Net Framework source stepping】(否则允许后总会去服务器下载pdb文件)
配置Debug/Symbols(根据自己安装路径设置)
拷贝pdb到【Symbols\Cache\MicrosoftPublicSymbols】目录。我之前试验时发现下载的pdf会放到【MicrosoftPublicSymbols】目录,所以我们需要把安装路径下的pdb文件都拷贝到这个目录
一步一步Step into调试后,发现事故发生地
Snippet
[/code]
通过.Net Source能够方便调试和定位bug
欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]
查看堆栈,发现只能看到一个代码段,其余的都是.Net Framework内部的代码,看了代码方法,但是不太明白,我想最好的办法就是查看代码了,以前都是用Reflector查看代码,但是那只是静态的看代码,想起在VS2008下可以查看.Net Framework源码,我何不在VS2010下试试呢,于是开始去找Net4源码。
下载.Net 4源码
在 http://referencesource.microsoft.com/netframework.aspx 中选择.Net4下载准备调试
网上介绍了一些调试框架代码的设置,我试了一下,但是都会去服务器下载,试过多个方法后,最终按照如下方法进行可以顺利的进行调试安装后只有两个目录【Source】和【Symbols】
配置Option,去除【Enable Just My Code】,记住也不要设置【Enable .Net Framework source stepping】(否则允许后总会去服务器下载pdb文件)
配置Debug/Symbols(根据自己安装路径设置)
拷贝pdb到【Symbols\Cache\MicrosoftPublicSymbols】目录。我之前试验时发现下载的pdf会放到【MicrosoftPublicSymbols】目录,所以我们需要把安装路径下的pdb文件都拷贝到这个目录
调试代码
运行代码,开始调试,记住只能通过Call Stack设置断点一步一步Step into调试后,发现事故发生地
Snippet
public class EnumConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return new EnumViewModel((Enum)value).Label; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return null; //这句话错误,没有返回正确的值 } } 修改代码如下: Snippet [code] public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return EnumViewModel.LabelToEnum(value.ToString(), targetType); }
[/code]
回顾
多实验,找到可能性通过.Net Source能够方便调试和定位bug
欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]
相关文章推荐
- WPF - 下载.Net4 Framework源码,查找OpenExpressApp中DataGrid枚举值更新错误的原因
- 关于下载Android源码是无法获取repo和更新Android SDK的错误
- 使用Mac App Store更新、下载软件时出现未知错误的解决方法
- mac App Store下载出现“未知错误”可能原因及解决办法
- 自动更新程序源码下载(C#.Net)
- 错误代码2104:无法下载Silverlight应用程序。请查看Web服务器设置(支持WPF和Clickonce应用程序的相应设置)
- RDIFramework.NET平台代码生成器V3.0版本全新发布-更新于20160518(提供下载)
- 月下载量上千次Android实现二维码生成器app源码分享
- 下载CM11.0 Android 源码过程与错误解决
- Web程序员开发App系列 - 开发我的第一个App,源码下载
- 自动更新程序源码下载(C#.Net)
- 使用svn下载源码 svn使用错误笔记
- 【STM 32】之智能温控器(PCB、MCU源码和APP源码下载)
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3
- 【持续更新】Android 源码下载地点
- Elastos自动下载、更新源码工具--DownloadCode.sh
- -App自动更新之通知栏下载
- 【源码分享下载】每日更新之Android源码之百度云推送
- Android音频实时传输与播放(四):源码下载(问题更新)
- 使用Android Studio 自带的monitors查找App CPU 使用率过高的原因