Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.