Megosztás a következőn keresztül:


_set_abort_behavior

Meghatározza a program rendellenes leállása esetén végrehajtandó műveletet.

Megjegyzés:

Ne használja a függvényt abort a Microsoft Store-alkalmazások leállítására, kivéve a tesztelési vagy hibakeresési forgatókönyveket. Az Áruházbeli alkalmazások bezárásának programozott vagy felhasználói felületi módjai nem engedélyezettek a Microsoft Store szabályzatai szerint. További információ: UWP alkalmazás életciklusa.

Szemantika

unsigned int _set_abort_behavior(
   unsigned int flags,
   unsigned int mask
);

Paraméterek

flags
A jelzők új értéke abort .

mask
Maszk a abort beállítandó jelzők bitjeihez.

Visszaadott érték

A zászlók régi értéke.

Megjegyzések

Két abort jelző van: _WRITE_ABORT_MSG és _CALL_REPORTFAULT. _WRITE_ABORT_MSG meghatározza, hogy a program rendellenes leállása esetén egy hasznos szöveges üzenet legyen-e kinyomtatva. Az üzenet azt jelzi, hogy az alkalmazás meghívta a függvényt abort . Az alapértelmezett viselkedés az üzenet nyomtatása. _CALL_REPORTFAULTha be van állítva, meghívja a Windows hibajelentési szolgáltatás mechanizmusát (korábbi nevén Dr. Watsont) a hibák Microsoftnak való bejelentéséhez, amikor abort meghívják. Alapértelmezés szerint az összeomlási memóriakép-jelentés engedélyezve van a nem DEBUG-buildekben. Ha a Windows hibajelentés-kezelője nem hívható meg, akkor abort a _exit 3. kilépési kóddal állítsa le a folyamatot, és visszaadja a vezérlést a szülőfolyamatnak vagy az operációs rendszernek. _exit nem üríti ki a streampuffereket, és nem végez feldolgozást atexit/_onexit .

A Windows kompatibilitási okokból hívás esetén abort_exitmeghívhatja a Windows ExitProcess API-t, amely lehetővé teszi a DLL-megszakítási rutinok futtatását. A destruktorok nem futtathatók a végrehajtható fájlban, de ugyanez nem feltétlenül igaz a végrehajtható folyamatterületre betöltött DLL-ekhez. Ez a viselkedés nem felel meg szigorúan a C++ szabványnak. Ha azonnal le szeretne mondani egy folyamatot, beleértve a DLL-eket is, használja a Windows TerminateProcess API-t. Regisztrálhat egy megszakított jelkezelőt is, amely szabványos viselkedésre hív meg TerminateProcess . A windowsos kompatibilitás bizonyos költségekkel járhat.

Alapértelmezés szerint ennek a függvénynek a globális állapota hatóköre az alkalmazásra terjed ki. A módosításhoz tekintse meg a globális állapotot a CRT-ben.

Requirements

Rutin Kötelező fejléc
_set_abort_behavior <stdlib.h>

További kompatibilitási információkért lásd: Kompatibilitás.

Example

// crt_set_abort_behavior.c
// compile with: /TC
#include <stdlib.h>

int main()
{
   printf("Suppressing the abort message. If successful, this message"
          " will be the only output.\n");
   // Suppress the abort message
   _set_abort_behavior( 0, _WRITE_ABORT_MSG);
   abort();
}
Suppressing the abort message. If successful, this message will be the only output.

Lásd még

abort