2011-06-07 46 views
2

我試圖獲取轉儲調試在ASP.NET進程一些內存的問題(的Windows 2003 R2 SP2 64位):ADPlus的轉儲創建失敗 - 訪問被拒絕

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故障保護,以防止IIS查殺流程,同時ADPlus的傾銷足夠空間。

還有什麼我應該檢查的?有其他人遇到這個問題嗎? Adplus版本是7.01.002(02/27/2009)(幾天前從最新的SDK下載)

回答

2

這是因爲無法訪問內存讀取失敗。爲了避免這種情況,你可以使用類似cdb/windbg的命令並使用.dump /mA命令來生成完整的內存轉儲。

.dump /mA.dump /ma相同,只是它會忽略無法訪問的內存讀取失敗並繼續生成小型生成。

.dump options

The /mA option is equivalent to /ma except that it ignores any failure to read inaccessable memory and continues generating the minidump.

HTH

+0

+1聽起來不錯,謝謝!但是爲什麼會有無法訪問的內存......有時候呢?我不會以這種方式獲得部分(可能無用的)轉儲嗎? – 2011-06-07 13:47:58

+0

我認爲內存可能已被分頁,這是無法訪問內存的原因。不,它不會給予部分轉儲。 – Naveen 2011-06-07 13:57:53

1

如果你是管理員的一員,你仍然需要提升權限它不會不管。

ADPlus需要從具有提升特權的本地管理員帳戶下運行的命令提示符運行。如果你沒有這樣做,轉儲文件可能不會被創建。