0
我開始在測試一個相當大的程序時遇到了Xcode 4.6.3中的BAD_ACCESS錯誤。我追溯到以下幾點的錯誤:內存分配錯誤,可能在GDB中
int main(int argc, const char * argv[])
{
float test1[1024][1536];
float test2[340][1536];
std::cout << "Made it up to this point!\n";
return 0;
}
上述程序將運行良好。但是,如果我增加數組的大小超出了[340] [1536],它會與
EXC_BAD_ACCESS(code=2, address=0x7fff00000de4)
崩潰顯然,調試器不能分配足夠的存儲器用於程序使用。關於如何解決問題的任何想法?
編輯:我還發現,我得到的靜態分配錯誤,如
float a[123][456]
其精細提前一天的工作。所以,這可能是一個編譯器選項。
看來,你用完了堆棧內存,爲您的當前程序失去任何東西不能叫不止。嘗試動態分配數組,至少是第二個數組。 –
這有效,但是當涉及到我正在測試的實際程序時,這意味着我必須更改其他人編寫的方法(並在其他項目中正常工作)。很可能我有一個不正確的編譯器選項。 – Totoro
您可以嘗試增加堆棧大小:http://stackoverflow.com/questions/2092495/increase-stack-size-with-xcode –