调试发行版程序 (三)

因为符号服务器的配置过程比较繁琐,所以写了一个 WORD 文档,请从下面的连接下载该文档:调试符号服务安装说明

另外需要注意的是:在 64 位 Windows 上的 IIS 是 64位的,所以在复制相关的动态库时一定要注意也复制64位的,否则将不可使用;

下面来说符号服务器配置完成后,如果在团队中进行协同工作:
  1、程序开发人员需要发布的程序在配置管理工具(如:TFS 或者 StarTeam)中打上待发布的标签
  2、代码管理员启用代码生成工具,产生最终的可执行程序,提交给测试人员
  3、如果测试通过,代码管理员将可执行程序和符号文件同步提交到符号库中
  4、程序测试人员将测试通过的最终程序(含配置文件)提交给发布人员通过网络发布给最终用户
  5、用户处的程序一旦发生异常,发送错误报告到报修处理人员的邮箱
  6、报修处理人员对收到的错误报告进行筛选并转发给相应的开发人员(通过登记 CR/BUG)
  7、开发人员对收到的错误报告进行详细分析并改进程序,然后将 CR/BUG 标记为修复状态

在上面这个团队的协同工作过程中,报修处理人员(也可能是错误报告处理专职人员)和开发(或代码维护)人员需要配置 WinDebug 的客户端,具体的配置方式在第一篇文章《调试发行版程序 (一)》中已经进行了讲解,现在只需要将符号服务器变更为搭建的企业符号服务器即可:

本地符号库配置:SRV*D:\WinDebug\Symbols*HTTP://msdl.microsoft.com/download/symbols;

 

企业符号库配置:SRV*D:\WinDebug\Symbols*HTTP://ServerName/symbols;

因为在符号服务器上配置了微软符号服务的代理,所以通过企业内部的符号服务器也可以下载到操作系统的符号文件(当前前提条件是该符号服务器能够访问微软的符号服务器)

最后为了方便对错误报告进行定位,提供了一个注册表文件,通过该文件可以关联 DMP 文件使用 WinDbg.exe 打开,同时执行错误定义的命令,如下所示:

VS90DMP.REG
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.dmp]
@
="VisualStudio.dmp.9.0"

[HKEY_CLASSES_ROOT\.mdmp]
@
="VisualStudio.mdmp.9.0"

[HKEY_CLASSES_ROOT\VisualStudio.dmp.9.0]
@
="Crash Dump File"

[HKEY_CLASSES_ROOT\VisualStudio.mdmp.9.0]
@
="Crash Dump File"

[HKEY_CLASSES_ROOT\VisualStudio.dmp.9.0\shell]

[HKEY_CLASSES_ROOT\VisualStudio.mdmp.9.0\shell]

[HKEY_CLASSES_ROOT\VisualStudio.dmp.9.0\shell\Open]

[HKEY_CLASSES_ROOT\VisualStudio.mdmp.9.0\shell\Open]

[HKEY_CLASSES_ROOT\VisualStudio.dmp.9.0\shell\Open\command]
@
="\"D:\\WinDebug\\Program\\WinDbg.exe\" -z \"%1\" -c\".ecxr\""

[HKEY_CLASSES_ROOT\VisualStudio.mdmp.9.0\shell\Open\command]
@
="\"D:\\WinDebug\\Program\\WinDbg.exe\" -z \"%1\" -c\".ecxr\""

将该注册表文件导入注册表(和VS2008兼容),然后直接打开错误报告中的错误状态导出文件( Crash.DMP )将直接定位到程序崩溃的地方,如果本机有源代码,那么还会自动定位到崩溃的代码行;

posted @ 2009-03-02 12:02  王志科  阅读(1221)  评论(1编辑  收藏  举报