我與Visual Studio 2008的調試運行我使用爲什麼我會看到「??」在HeapFree之後的Visual Studio內存窗口中?
buf = new unsigned char[bigValue];
後來分配一個大的緩衝區(約12MB),當我取消分配使用delete[] buf;
緩衝區,我看 「?? ?? ?? ??」調試內存窗口中的值。通常我會看到「fe ee fe ee」。我沒有看到內存管理有什麼問題嗎?
我發現一對夫婦的相關問題:
Why I can only see 「??」 at any address before 0x70000
In Visual Studio C++, what are the memory allocation representations?
但他們沒有回答這個問題。
可能與內存被解釋爲char數組(又名字符串)。因此調試器可能試圖打印清楚的非ASCII值。 – jpm
@jpm謝謝,但我不認爲就是這樣。其他(較小的)緩衝區顯示指示釋放的堆分配的「fe ee feee」值。 – Matthew