10Fermer12
deleted2Le 17/05/2009 à 21:25
Bon, l'erreur fatale est bien déclenchée dans HeapFree, mais je ne sais pas pourquoi... C'est visiblement quand PedroM essaie de merger des blocs, mais ne connaissant pas le format de la table, je comprends pas pourquoi ça se passe (et au fait, c'est au troisième appel de HeapFree que ça crash, les deux premiers se terminent normalement et le programme continue. Je n'ai pas vu ce qui était poussé sur la pile pour que HeapFree soit appelé 3 fois à la suite, et je n'ai pas réussi à localiser le code du retour des deux premiers appels...

Le premier HeapFree efface le handle $000a, le second le $000b, et le troisième le $0006. Je n'ai envoyé qu'un pack archive (de deux fichiers, loader + main part) sur un PedroM tout neuf.

\loop		cmp.l	a1,a0
		bhi	HeapCorrupted	;C'est là !!!
		beq.s	\found		; Current Block = New Free bLock ? Yes => Found previous block
		move.l	a0,d2		; Save Previous Block
		add.l	(a0),a0		; Next Block
		bra.s	\loop

PpHd, à toi, j'y arrive pas cry