windows用户态程序排错——程序无法运行和奔溃排查

有的时候我们的应用程序在调试时使用的好好的,但在其他的PC上运行时就可能会出现无法运行、异常退出的问题,这个时候就需要我们有足够的手段进行排查:

1)日志排查:好的应用程序也必定集成了好的日志模块,用于程序异常时提供足够的信息供开发人员迅速定位问题;所以在开发程序的时候必不可少的就是在关键位置添加日志,在程序已知的异常判断位置,将错误信息尽可能多的写入日志:比如函数执行失败,一般都需要将失败的返回值、当前的错误码以及关键的函数参数写入日志。

这里罗列一些用过的比较好用的开源日志系统:C++:log4cplus(https://github.com/log4cplus/log4cplus) C:z-log(https://github.com/HardySimpson/zlog),这里C不推荐使用log4c,因为它已经没有人维护了,有内存泄漏问题。

2)minidump:应用程序可以在最上层捕获程序抛出的异常,对于无法处理的异常,将当前程序的内存信息写minidump,便于后续配合程序的pdb文件迅速定位出异常原因。

3)procdump工具:procdump工具对于定位应用程序奔溃问题非常有效,这是windows提供给我们的非常好用的工具,可以使用它对指定进程进行监控,当进程崩溃时可以将奔溃时刻的线程堆栈、内存信息写入到dump文件中,与上面说的minidump类似,配合pdb文件,使用windbg可以迅速定位出奔溃原因。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值