代码改变世界

CefGlue在WinXP下闪退的排查方法

2016-10-14 23:45  zhoujie  阅读(1015)  评论(1编辑  收藏  举报

用CefGlue开发的程序部署到多台机器上,运行正常。本以为没有问题了,下午突然接到客户电话说:运行程序时,闪一下就退出,没有任何错误提示!远程连接到客户机器上,看了下果然如此!cef没有记录任何日志,事件查看器没有任何日志!头一次遇到这种问题,简直束手无策,郁闷死了,。。。此处省略一万字。

其实大体知道应该使用调试工具,进行运行时调试来查看异常信息!怎么使用Windbg这一神器,真是不知道啊,俺不晓得,没搞过!

  1. 看教程先下载Windbg,由于我是winXP,所以下载了windbg_x86_6.11.1.404
  2. 安装后,打开Windbg
  3. 运行目标程序,从windbg运行(ctrl+E),或者运行后,windbg附加到进程(F6)。
  4. 继续操作目标程序,操作到出现崩溃时,发现程序没反应了。哈哈,原来是windbg 中断了,出现Exception的字样,并且已经定位到了出错的dll了。
  5. 我试图使用!printexception命令打印异常,结果说没有发现异常。继续运行吧,输入命令g
  6. 突然想起来.net程序需要加载SOS.dll,运行.load C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\SOS.dll命令
  7. 然后!printexception命令成功打印出了异常信息:
  8. 原来是找不到System.Core.dll文件,由于客户机是.net 2.0没有这个文件,复制该文件后解决!

终于解决了,好激动!windbg确实是好东西,几条命令就解决了。有时间好好研究一下!

该睡觉了,当一名程序员真TM不容易,各位同行们多多注意身体,明天周末好好睡一觉!