2017-08-09 58 views
0

我們遇到這樣的問題,即我們的一個C++單元測試導致異常0xC0000005(來自dmp文件 - >線程試圖讀取或寫入虛擬地址,它沒有適當的訪問權),當它正在執行一個方法簽名時(即使方法的主體沒有被執行)。 enter image description here如何增加vstest.executionengine.x86.exe的堆棧大小

然後是堆棧溢出異常。我認爲這是實際的問題。 enter image description here

有沒有辦法增加vstest的堆棧?

編輯:這裏的轉儲:minidump

+0

你最好找到不應該發生的內存讀取cuase。嘗試縮小它。 – doctorlove

+1

堆棧溢出和訪問衝突都表明您的代碼中存在嚴重問題。您應該修復它們,而不是嘗試增加堆棧大小。 – VTT

+0

根據我在其他系統上的經驗,0xC00000xx建議嘗試使用未初始化的指針,而不是堆棧溢出。 –

回答

1

你可以看一下這個鏈接:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/d56d80e0-70f1-4ceb-b9ca-aed66e97a3d6/visual-studio-2012-unit-testing-native-c-crashes-due-to-stack-overflow?forum=vsunittest

它說:
你可以嘗試添加以下REG_DWORD鍵:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\EnterpriseTools\QualityTools\Agent\MaximumTestThreadStackSize和然後將其設置爲較大的值,例如1000000 (decimal)以檢查結果。

+0

謝謝,不幸的是它沒有解決這個問題。但奇怪的是,「EnterpriseTools \ QualityTools \ Agent \ MaximumTestThreadStackSize」甚至不存在,我不得不創建密鑰。 – TowelDayGuy