Mon code:crash d'exécutable lancé par C# Process.Start()
ProcessInfo processInfo = ...
Process proc = Process.Start(processInfo);
proc.WaitForExit();
if (proc.ExitCode != 0)
{
// ...
}
Mon problème est que le processus (un exécutable C++
) se bloque parfois en raison des exceptions non gérées, dans des circonstances inconnues.
Je peux dire que l'exécutable a planté, car lors d'un crash, il renvoie un code de sortie négatif (ou non nul d'ailleurs). Cependant, je ne peux pas créer un vidage de processus pour enquêter.
Si j'avais au moins le message "Programme arrêté de fonctionner" de Windows, j'ai pu créer le vidage manuellement.
Bien sûr, je peux utiliser un logiciel comme Debug Diag
pour surveiller les exécutables et faire un vidage sur incident, mais je préfère avoir une solution interne plus générique.