glGenVertexArrays:0x00000000處未處理的異常 0xC0000005:Access Violation.記憶體錯誤
阿新 • • 發佈:2019-02-12
1.確認呼叫的變數已初始化:
如:glGenVertexArrays(nums,VAO),其中VAO必須進行初始化。
2.確認是在非遠端桌面連線狀態下進行的除錯。
如:我用mstsc操作遠端電腦,進行程式除錯,一直報記憶體錯誤。我悲催的找了2天一直沒有解決,後來,本地除錯...通過!!!
3.GLEW is not correctly initialized and therefore glGenBuffers is not a valid function pointer
其他:記憶體錯誤 未處理的異常: 0xC0000005: 讀取位置 0x00000000 時發生訪問衝突
關於0xC0000005問題:
0xC0000005: Access Violation錯誤除錯- -
1》資料越界或是定義的指標未釋放.
2》空的指標的可能性最大。使用指標前最好能顯式的賦值!
應該是指標的問題
3》記憶體訪問錯誤,檢查指標,是否為空,是否越界等
可能性 3 種
1:
char *p;
p = new char[number];
delete [] p;
....
// always using p....
p = xxx; // access violation
2:
char *p;
memcpy(p, xxx, number); // access violation
3:
char *p;
p = new char[number];
delete [] p;
.........
delete [] p; // access violation
另外,出現堆被損壞的錯誤,是new太多了,又沒delete,這時需要改用GlobalAlloc來分配記憶體了。