verifier 调试内存泄露

时间:2023-03-09 07:07:04
verifier 调试内存泄露

没啥技术含量,都是老段子了,

这次记下来,只是我想说,我也做过,留个念相。

前置条件,电脑里面必须得有Verifier,有了之后把自己的驱动加进去,

WinDBG上双机,然后就可以跑了,跑一段时间就可以停了,

(这时候可以说一下,其实中间可以多次断下来,然后用 !poolused 命令对应TAG,来看内存使用量的,心里有个数)

驱动停了之后,果断卸载驱动,

这时候如果有内存泄露,就会触发一个蓝屏异常,然后就BSOD了,

异常错误码是 DRIVER_VERIFIER_DETECTED_VIOLATION (c4),

4个参数,第二个参数是一个WSTR,记录了出现问题的驱动名字,可以db一下,

第四个参数,实际上就是有多少个申请没释放了,

analyze 了之后,就是 !verifier 3 XXX.sys 了,

其实,前者只是为了验证一下内存相关的位置,

后一条命令的目的是为了让工具输出,到底是哪里出的问题,

输出结果分三段,内存地址,内存长度,申请的代码地址,

剩下的是什么。。。改呗。。。