Tu es surement tombé sur le parachute de SDL.
Moi j´aime pas bien ce parachute.
SDL est équippé d´un systeme de catch pour les plantage qui arrete l´application plutot que de la faire planter.
Personnellement, étant bourrin et fier de l´etre, je prefere que l´application plante. Pour cela, je désactive le parachute. Dans l´init, tu peut rajouter un parametre SDL_NOPARACHUTE.
De la, tu pourras débuggueur l´application avec un débuggueur classiquement
Et a mon avis (j´ai ma petite idée) : la surface que tu passes a SDL_ColorKey a mal été chargée : si ça se trouve, tu as fait une faute de frappe dans le lien, tu coup, le SDL_Surface* renvoyé est NULL, et si tu passes NULL a certaines fonctions -> BOOM !! !
vérifie, apres tes chargements d´image, que l´image chargée ne vaut pas NULL, avec un if ou un assert.