J'ai un projet qui consiste en une application C# qui appelle dans un couple de DLL C++/CLI. Si j'ai une erreur fatale Visual Studio C Runtime Library dans le code natif, il semble y avoir aucun moyen de l'attraper.Catch une erreur fatale C Runtime Library dans le code (mixte) .NET?
Pour donner un exemple simple, si je mets cela dans le code natif:
wchar_t buf[1]; ::wcscpy_s(buf, 1, L"ab");
L'application se bloque (dans la version builds). Il ne lance pas d'exception et je ne peux pas l'attraper avec __try ...__ sauf.
Je voudrais attraper ces types d'erreurs afin que je puisse afficher une belle boîte de dialogue d'erreur, idéalement avec un callstack. Je me contenterais de créer un minidump, mais j'ai essayé de créer un minidump en appelant :: SetUnhandledExceptionFilter() dans l'une des DLL C++/CLI mais cela ne semble pas fonctionner non plus.
Existe-t-il un moyen de gérer de manière gracieuse une erreur fatale de la bibliothèque C Runtime dans une application .NET?