如何能调试堆Free的时候又被使用了的情况?

Windows内核调试

如何能调试堆Free的时候又被使用了的情况?


Thomson 2008-12-05, 23:24 下午

一个堆被Free后,里面的内容又被赋值了,在被Debug的情况的,下次alloc的时候会检查到0xFEEEFEEE的pattern被破坏了.

有没有好的办法,让一个被Free的heap被写入的时候,立即被trap下来?

Re: 如何能调试堆Free的时候又被使用了的情况?


格蠹老雷 2008-12-07, 14:38 下午
AFAIK,目前的堆实现还不能直接支持这个特征,但是可以使用如下方法:
1)先定位到是哪个指针有这种问题。
2)在释放这个指针的地方设置一个断点。
3)断点命中,释放后,设置一个监视写操作的数据监视断点。
这样但再有代码视图写这个缓冲区时就会中断到调试器。

Powered by Community Server Powered by CnForums.Net