Windows Phone App的dump 文件分析
2015-01-12 13:42
309 查看
前言
我们在发布了自己的App以后,Windows Phone的Error Report机制会帮助我们收集程序的崩溃信息并发送到微软的服务器上,这可以辅助开发者提高App的稳定性。 那么如何利用这些dump file呢?首先我们需要下载这些dump file从微软开发者网站,然后借助调试工具进行分析,我们这里选用Windbg。下载步骤
1. 登录http://dev.windows.com/en-us/dashboard 2. 选择Windows Phone Store 3. 进入Reports,选择Crash count,选择 App和日期,点积Refresh按钮4. 点击导出stack traces,这里包括最近30天的崩溃转存记录
5. 开发下载后的Excel文件,这个excel文件里面包含9列。分别是App的名字,App的ID,App的版本号,操作系统的版本号,出现问题的函数,异常类型,在30天内累计的崩溃次数,栈的回溯和Dump File下载地址。 6. 我们可以通过第E和F列快速看一下,是否是由我们的App导致的崩溃,然后点击下载dump file进行分析。
使用Windbg打开dump file
1. 下载windbg从微软的网站: http://msdn.microsoft.com/en-us/library/windows/hardware/ff551063(v=vs.85).aspx 2. 运行windbg,从文件菜单中选择打开crash file,或者使用快捷键Ctrl+D.3. 设置symbol server, a. 可以使用快捷键Ctrl + S:
b. 或者命令”.sympath” 命令: .sympath srv*e:\bclCache*http://msdl.microsoft.com/download/symbols c. 也可以使用”.symfix” 4. 指定完symbol server以后,我们需要重新加载symbol file,在命令窗口输入”.reload”。命令窗口可以使用快捷键Alt+1定位。
5. 加载SOS模块。SOS.dll是Windbg为了调试managed代码编写的一个扩展命令模块。最新的windbg会自动加载这个模块。 6. 查看是否SOS的版本加载正确。我们首先查看coreclr.dll的版本号,然后对比当前加载的SOS.dll的版本号是否一致。 a. 在命令窗口输入”lmv mcoreclr”。命令lmv是打印出模块的信息,m+模块名字用来指定需要打印的模块,这里是打印coreclr模块的信息。
b. 在命令窗口输入”.chain”。这个命令是显示出默认的加载顺序为所有加载的debug扩展模块。
对比coreclr模块的版本号和查找链中的第一个是否匹配。如果不匹配,我们可以使用”.unload”卸掉已经加载的SOS模块,再次使用”.load + 路径”选择扩展Dll查找链中的正确项。例如: .unload e:\bclcache\symbols\sos_x86_ARM_4.0.50829.00.dll\503D5669449000 .load c:\Debuggers\SOS .chain再次查看第一个是否匹配
小结
现在我们已经知道如何下载dump file并如何使用windbg来打开它。后面的文章我举一些实际中的例子来讲解如何找到错误的代码。分享代码,改变世界!
Windows Phone Store App link: http://www.windowsphone.com/zh-cn/store/app/博客园-uap/500f08f0-5be8-4723-aff9-a397beee52fc Windows Store App link: http://apps.microsoft.com/windows/zh-cn/app/c76b99a0-9abd-4a4e-86f0-b29bfcc51059 GitHub open source link: https://github.com/MS-UAP/cnblogs-UAP MSDN Sample Code: https://code.msdn.microsoft.com/CNBlogs-Client-Universal-477943ab MS-UAP 2015/1/12
相关文章推荐
- class-dump,分析可执行/app文件的函数定义
- Windbg内核调试之四: Dump文件分析
- javacore文件及heapdump文件分析
- Windows Phone开发之App文件讲解
- 使用 Crash 工具分析 Linux dump 文件
- PC Camera 开发日志(三)------ 从安装文件后文件反向分析APP
- Windbg内核调试之四: Dump文件分析
- 使用 Crash 工具分析 Linux dump 文件
- Dump文件分析的常用命令
- Heapdump javacore文件分析工具
- 如何手动生成Dump文件并分析Dump文件
- javacore文件及heapdump文件分析
- 使用DUMP 文件调试分析内核驱动
- 使用 Crash 工具分析 Linux dump 文件
- Heapdump javacore文件分析工具
- dump文件分析
- ADPLUS使用配置文件设置断点时无法创建DUMP文件原因分析
- [转载]手动生成Dump文件并分析Dump文件
- Heapdump javacore文件分析工具
- 使用 Crash 工具分析 Linux dump 文件