我正在尝试使用转储调试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."
失败似乎是随机的(或者我应该说我找不到原因),即有时某些进程转储正常,有时它们会因此错误而失败。我检查过的事情:
我还应该检查一下吗?还有其他人遇到过这个问题吗? Adplus版本是7.01.002(02/27/2009)(几天前从最新的SDK下载)
答案 0 :(得分:2)
这是因为无法访问内存读取失败。为了避免这种情况,你可以使用类似cdb / windbg的东西并使用.dump /mA
命令来生成完整的内存转储。
.dump /mA
与.dump /ma
相同,只是它会忽略无法访问的内存读取失败并继续生成小型转储。
/ mA选项等同于/ ma 除了它忽略了任何失败 读取无法访问的内存并继续 生成minidump。
HTH
答案 1 :(得分:1)
如果您是管理员,您仍然需要提升权限,这无关紧要。
ADPlus需要从具有提升权限的本地管理员帐户下运行的命令提示符运行。如果您不这样做,可能无法创建转储文件。