2011-03-09 40 views
2

當我的應用程序崩潰時,它會生成一個minidump以允許進行事後調試。我使用MiniDumpWithIndirectlyReferencedMemory和MiniDumpWithPrivateReadWriteMemory選項。我的小轉儲越來越大,無法由Visual Studio加載,我該如何解決這個問題?

這一切都很好,直到最近dumpfiles開始超過500MB的大小。當我想開始調試一個大小的轉儲的時候,Visual Studio會引發以下錯誤。

「沒有足夠的存儲可用於處理此命令」

我的WinXP 32位,具有在其RAM 4GB其中我使用小於1GB。根據VS2008在這個過程中使用它的內存的經濟性,它應該有足夠的可尋址空間。

我不想做什麼:

  • 哈克WinXP中獲得更多的內存:應用程序只有不斷增加使這隻會暫時無法工作。下面是我發現可以操作的列表:
  • 略去MiniDumpWithPrivateReadWriteMemory選項

所以,我應該怎麼解決這個 http://www.msfn.org/board/topic/62001-not-enough-storage-is-available-to-process-this-command/

  • 切換到64位操作系統?

    • 忽略某些dll的轉儲?將包含的內存從dll組的不同轉儲中分離出來?任何想法如何做到這一點? (如果這是可能的話)
    • ...?
  • 回答

    1

    您可以嘗試使用Debugging Tools for Windows包中的WinDbg,以查看它是否不比Visual Studio更好地管理內存。不過,我會建議嘗試64位操作系統,即使你不想這樣做。在這些日子和時間裏,您應該將您的應用程序也作爲本機64位Windows應用程序提供,因此無論如何您都需要64位Windows。

    +1

    Visual Studio是(並且可能永久保留)32位應用程序。切換到64位操作系統將爲您購買不超過2 GB的地址空間。另一方面,WinDbg可用作本機64位應用程序,所以這確實會產生重大影響。 WinDbg使用* Windows調試器*(在系統組件dbgeng.dll中實現)通常比Visual Studio的調試器提供更高的質量。 – IInspectable 2015-03-25 09:58:30

    0

    我使用Windows 7 64位在VS2010上遇到同樣的問題。嘗試加載使用MiniDumpWithPrivateReadWriteMemory創建的任何轉儲設置失敗,並顯示「沒有足夠的存儲空間可用於處理此命令」。

    我不認爲它實際上是內存問題,因爲用MiniDumpWithFullMemory打開轉儲工作正常,實際上會創建更大的轉儲。

    這似乎是一個視覺工作室的錯誤,它令人失望,它仍然存在幾個版本。