__ud2
Específicos do Microsoft
Gera uma instrução indefinida.
void __ud2();
Comentários
O processador gera uma exceção de opcode inválido se você executar uma instrução indefinida.
O __ud2 função é equivalente a UD2 instruções de máquina e está disponível somente no modo kernel. Para obter mais informações, procure o documento "Manual do desenvolvedor de Software de arquitetura Intel, Volume 2: referência de conjunto de instruções," com o Intel Corporation site.
Requisitos
Intrínseca |
Arquitetura |
---|---|
__ud2 |
x86,x64 |
Arquivo de cabeçalho <intrin.h>
Exemplo
O exemplo a seguir executa uma instrução indefinida, o que gera uma exceção. O manipulador de exceção, em seguida, altera o código de retorno de zero a um.
// __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;
}