__ud2
Spécifique à Microsoft
Génère une instruction non définie.
void __ud2();
Notes
Le processeur lève une exception non valide de l'opcode si vous exécutez une instruction non définie.
La fonction d' __ud2 équivaut à l'instruction machine d' UD2 , et est uniquement disponible en mode noyau. Pour plus d'informations, recherchez le document, « le manuel du développeur de logiciels d'architecture Intel, le volume 2 : référence de jeu d'instructions, » Intel Corporation au site.
Configuration requise
Intrinsèque |
Architecture |
---|---|
__ud2 |
x86, x64 |
Fichier d'en-tête <intrin.h>
Exemple
L'exemple suivant exécute une instruction non définie, qui déclenche une exception. Le gestionnaire d'exceptions modifie le code de retour de zéro à un de.
// __ud2_intrinsic.cpp
#include <stdio.h>
#include <intrin.h>
#include <excpt.h>
// compile with /EHa
int main() {
// Initialize the return code to 0.
int ret = 0;
// Attempt to execute an undefined instruction.
printf("Before __ud2(). Return code = %d.\n", ret);
__try {
__ud2();
}
// Catch any exceptions and set the return code to 1.
__except(EXCEPTION_EXECUTE_HANDLER){
printf(" In the exception handler.\n");
ret = 1;
}
// Report the value of the return code.
printf("After __ud2(). Return code = %d.\n", ret);
return ret;
}