Ik heb een variable array, maar op het moment dat ik het geheugen weer vrij wil geven met free() crasht mn programma. Dit zijn de relevante stukken code:
Ik ben al nu al ruim 3 uur bezig met debuggen, maar kom geen meter verder dan dat ie crash bij call free()

(ik weet voor de rest vrij weinig van asm)
C++:
1
2
3
4
5
6
7
8
9
10
| gamedata.screenBuff = (CHAR_INFO*)malloc(sizeof(CHAR_INFO) * gamedata.width * gamedata.heigth); if(gamedata.screenBuff == NULL) { cout<<"Something went wrong"; } for(int i=0; i<(sizeof(CHAR_INFO) * gamedata.width * gamedata.heigth); i++) { gamedata.screenBuff[i].Char.AsciiChar = ' '; gamedata.screenBuff[i].Attributes = BACKGROUND_GREEN; } |
C++:
1
2
3
4
5
6
| while(!gamedata.gameover) { updateMove(); } FreeMem(); |
C++:
1
2
3
4
5
6
7
8
9
10
11
| void FreeMem() { if(gamedata.screenBuff) { free(gamedata.screenBuff); gamedata.screenBuff = NULL; } FlushConsoleInputBuffer(gamedata.inputHandle); } |
Ik ben al nu al ruim 3 uur bezig met debuggen, maar kom geen meter verder dan dat ie crash bij call free()
code:
1
2
3
4
5
| 00401B1E mov ecx,dword ptr [ebp+8] 00401B21 mov edx,dword ptr [ecx] 00401B23 push edx 00401B24 call free (0040a4b0) 00401B29 add esp,4 |

(ik weet voor de rest vrij weinig van asm)
[ Voor 4% gewijzigd door Verwijderd op 09-01-2005 21:47 ]