2009-08-12 86 views
0

雖然我還是C#的新手,但我很好奇是否有辦法告訴Windows,它需要留出X內存來運行此應用程序。在調試(F5)時,偶爾會發現一個隨機的「寫入受保護內存的錯誤」通知,並且在重新啓動Visual Studio版本後通常會稍微好一些。偶爾需要一個Windows Reboot。所以我假設我需要指定一個更大的內存大小的窗口留出,然後收集。設置C#內存參數

想法?

+2

如果你內存不足,你會得到一個OutOfMemory異常。這個錯誤通常意味着你有不安全的或者正在訪問你無法訪問的內存地址的C++代碼,例如在給定圖像的緩衝區指針的情況下讀/寫太遠。 – 2009-08-12 19:08:04

+0

我實際上只是將圖像轉換爲byte [],然後將其粘貼到IntPtr中,然後將其反轉。根本沒有任何dll電話。 今天只發生一次,在Program.cs中,Application.Run行。所述錯誤試圖寫入受保護的內存。 有趣。 – Olewolfe 2009-08-13 19:12:43

回答

3

這不是指定更多內存的問題。這聽起來像是你在CLR上遇到了一些特殊情況,你正在使用一些不正當的代碼,你有一些不好的記憶。

你沒有看到這個問題,當不調試?它通常是在相同的代碼區域嗎?

2

在Visual Studio或C#程序中無需設置任何東西來防止發生這種情況。這聽起來像是一個比這更嚴重的問題。

您可能想在SuperUser.com上問這個問題,看他們是否對您的機器和軟件的健康有任何想法。

作爲c#的新手,你不是真的使用unsafe關鍵字,是嗎? :)

超級用戶的測試密碼can be found here