Adplus转储创建失败 - 访问被拒绝

时间:2011-06-07 13:11:47

标签: windbg adplus

我正在尝试使用转储调试ASP.NET进程中的某些内存问题(Windows 2003 R2 SP2 x64):

adplus -hang -o f:\dumps -pn w3wp.exe -quiet

有九个w3wp.exe(全部来自不同的网站)。每次我按上述方式运行adplus时,某些转储会因此错误而失败:

WriteFullMemory.Memory.Read(0x100ea0000, 0x10000) failed 0x80070005, ABORT.
Dump creation failed, Win32 error 0n5
    "Access is denied."

失败似乎是随机的(或者我应该说我找不到原因),即有时某些进程转储正常,有时它们会因此错误而失败。我检查过的事情:

  • 我有完整的管理权限
  • 目标硬盘上有足够的空间
  • 我在IIS上禁用了ping和失败保护,以防止IIS在adplus转储时终止进程。

我还应该检查一下吗?还有其他人遇到过这个问题吗? Adplus版本是7.01.002(02/27/2009)(几天前从最新的SDK下载)

2 个答案:

答案 0 :(得分:2)

这是因为无法访问内存读取失败。为了避免这种情况,你可以使用类似cdb / windbg的东西并使用.dump /mA命令来生成完整的内存转储。

.dump /mA.dump /ma相同,只是它会忽略无法访问的内存读取失败并继续生成小型转储。

.dump options

  

/ mA选项等同于/ ma   除了它忽略了任何失败   读取无法访问的内存并继续   生成minidump。

HTH

答案 1 :(得分:1)

如果您是管理员,您仍然需要提升权限,这无关紧要。

ADPlus需要从具有提升权限的本地管理员帐户下运行的命令提示符运行。如果您不这样做,可能无法创建转储文件。