Gestion des plantages [Résolu] - API Win32 - Programmation
Marsh Posté le 03-09-2009 à 15:20:53
_wlof_ a écrit : 1. Est-ce que c'est normal que tant qu'on ne ferme pas la fenêtre Windows de plantage, le reste de mon application continue de tourner ? |
1. Oui, c'est tout à fait normal. Lorsque ton thread execute une mauvaise instruction, l'exception CPU est capturée par l'OS qui t'affiche le dialogue, sans déranger les autres threads. Ce n'est que lorsque tu fermes le dialogue que le processus est détruit.
2. Deux façons d'empécher ça :
Marsh Posté le 03-09-2009 à 15:46:35
Merci de la réponse. En fait entre temps j'ai découvert la fonction SetUnhandledExceptionFilter() qui permet de définir un comportement spécifique au lieu d'appeler le "debugger" (le générateur de rapport d'erreur) Windows standard.
Je suis encore en train de tester, mais ça a l'air de me permettre de faire exactement ce que je veux : générer un rapport (via MiniDumpWriteDump) et tuer l'application.
Marsh Posté le 03-09-2009 à 14:57:17
Bonjour à tous,
J'ai un problème un peu spécial, que je n'ai pas la moindre idée de comment résoudre...
Je travaille sur une application assez complexe, composée d'un tas de threads différents. Parfois, cette application plante (et oui, ça arrive). Quand c'est le cas, j'obtiens la fenêtre Windows de plantage, avec l'adresse mémoire concernée, etc.
Le problème, c'est quand tant que cette fenêtre Windows n'est pas fermée, tous les autres threads de l'application continuent de fonctionner normalement. C'est un problème car cette application effectue un travail critique. En cas de plantage, il faut la redémarrer.
Donc, questions :
1. Est-ce que c'est normal que tant qu'on ne ferme pas la fenêtre Windows de plantage, le reste de mon application continue de tourner ?
2a. Si non, à quoi est-ce que ça pourrait être dû ?
2b. Si oui, comment faire pour détecter le plantage / faire planter l'application complètement ?
Help me Obi-Wan Kenobi, parce que là je pédale dans la semoule !
Message édité par _wlof_ le 03-09-2009 à 16:20:14