【发布时间】:2011-07-28 16:12:07
【问题描述】:
我最近继承了一个经典ASP网站的维护,之前没做过经典ASP,所以如果我问愚蠢的问题请见谅。
我的合作开发者已经浏览了每个页面,以确保关闭 sql 连接,清空集合,然后将其设置为 null。然而,这是一个大型网站,显然我们之间漏掉了一些东西。
当它泄漏时,我有一个进程转储(由 debug diag 获取)。当我使用 debug diag 执行它的内存分析时,它通知我没有检测到 LeakTrack.dll,因此无法执行泄漏分析。
我使用 windbg 打开了转储,发现一个堆比其他堆大得多,其中 90% 的内存在一个堆中。但是,当我尝试将块追踪回分配它们的调用堆栈时,我总是会得到:
invalid allocation size, possible heap corruption
有没有更好的方法来尝试跟踪泄漏的来源?或者您对如何创建更好的进程转储有任何提示,以便我可以检查泄漏的来源?
【问题讨论】:
标签: asp-classic windbg