__ud2
Microsoft 專有的
會產生未定義的指令。
void __ud2();
備註
如果您執行的未定義的指令,處理器就會造成無效的 opcode 例外狀況。
__ud2函式相當於UD2機器指令,並僅適用於核心模式。 如需詳細資訊,搜尋的文件中,"Intel 架構軟體開發人員的手冊,磁碟區 2: 指令集參考,"在Intel 公司站台。
需求
內建 |
架構 |
---|---|
__ud2 |
x86,x64 |
標頭檔 <intrin.h>
範例
下列範例會執行未定義的指令,會引發例外狀況。 例外處理常式接著會從零到其中一個變更傳回的程式碼。
// __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;
}