abort

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Interrompt le processus actuel et retourne un code d’erreur.

System_CAPS_ICON_note.jpg Remarque

N'utilisez pas cette méthode pour arrêter une application Windows 8.x Store, sauf dans les scénarios de test ou de débogage. Méthodes de programmation ou de l’interface utilisateur pour fermer une Windows 8.x Store application ne sont pas autorisées en fonction de la critères de certification des applications Windows 8. Pour plus d’informations, consultez cycle de vie des applications (applications du Windows Store).

void abort( void );  

abortne retourne pas le contrôle au processus appelant. Par défaut, elle recherche un gestionnaire de signal d’abandon et déclenche SIGABRT s’il est défini. Puis abort termine le processus actuel et retourne un code de sortie pour le processus parent.

Spécifique à Microsoft

Par défaut, lorsqu’une application est générée avec la bibliothèque runtime de débogage, le abort routine affiche un message d’erreur avant SIGABRT est déclenché. Pour les applications de console en cours d’exécution en mode console, le message est envoyé à STDERR. Applications de bureau Windows et les applications de console qui s’exécutent dans ce mode affichent le message dans une boîte de message. Pour supprimer le message, utilisez _set_abort_behavior pour effacer le _WRITE_ABORT_MSG indicateur. Le message affiché dépend de la version de l’environnement d’exécution. Pour les applications créées à l’aide de la version la plus récente de Visual C++, le message ressemble à ceci :

R6010

- abort() has been called

Dans les versions précédentes de la bibliothèque runtime C, ce message s’est affiché :

"This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information."

Lorsque le programme est compilé en mode débogage, la boîte de message affiche les options de abandonner, réessayer, ou ignorer. Si l’utilisateur choisit abandonner, le programme se termine immédiatement et retourne un code de sortie de 3. Si l’utilisateur choisit réessayer, un débogueur est appelé pour le débogage juste-à-temps, si disponible. Si l’utilisateur choisit ignorer, abort continue le traitement normal.

Dans les versions de détail et de débogage, abort puis vérifie si un gestionnaire de signal d’abandon est défini. Si un gestionnaire de signal de celle par défaut est défini, abort appelle raise(SIGABRT). Utilisez le signal fonction pour associer une fonction de gestionnaire de signal abort avec la SIGABRT signal. Vous pouvez effectuer des actions personnalisées, par exemple, pour nettoyer les ressources ou enregistrer des informations — et arrête l’application avec votre propre code d’erreur dans la fonction gestionnaire. Si aucun gestionnaire de signal personnalisé est défini, abort ne déclenche pas le SIGABRT signal.

Par défaut, dans les versions non debug des applications de bureau ou de la console, abort appelle ensuite Windows du rapport d’erreurs mécanisme (récupération d’urgence. Watson) pour signaler les échecs à Microsoft. Ce comportement peut être activé ou désactivé en appelant _set_abort_behavior et définir ou masquage du _CALL_REPORTFAULT indicateur. Lorsque l’indicateur est défini, Windows affiche un message qui contient le texte de quelque chose comme « Un problème a provoqué le blocage du programme fonctionne correctement. » L’utilisateur peut choisir d’appeler un débogueur avec un Debug bouton, ou choisissez la fermer le programme bouton pour mettre fin à l’application avec un code d’erreur défini par le système d’exploitation.

Si le Gestionnaire de rapport d’erreurs Windows n’est pas appelé, puis abort appelle _exit pour terminer le processus avec exit code 3 et retourne le contrôle au processus parent ou le système d’exploitation. _exitne pas vider les mémoires tampons de flux ou faire atexit / _onexit de traitement.

Pour plus d'informations sur le débogage CRT, consultez Techniques de débogage CRT.

Fin spécifique à Microsoft

RoutineEn-tête requis
abort<process.h> ou <stdlib.h>

Le programme suivant tente d’ouvrir un fichier et s’interrompt si la tentative échoue.

// crt_abort.c  
// compile with: /TC  
// This program demonstrates the use of  
// the abort function by attempting to open a file  
// and aborts if the attempt fails.  
  
#include  <stdio.h>  
#include  <stdlib.h>  
  
int main( void )  
{  
    FILE    *stream = NULL;  
    errno_t err = 0;  
  
    err = fopen_s(&stream, "NOSUCHF.ILE", "r" );  
    if ((err != 0) || (stream == NULL))  
    {  
        perror( "File could not be opened" );  
        abort();  
    }  
    else  
    {  
        fclose( stream );  
    }  
}  

File could not be opened: No such file or directory  

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Utilisation d’abort
Abort (fonction)
Processus de contrôle et d’environnement
_exec, _wexec, fonctions
Exit, _Exit, _exit
déclencher
signal
_spawn, _wspawn, fonctions
_DEBUG
_set_abort_behavior

Afficher: