代码如何捕获异常?

4By*_*tes 2 c++ assembly exception-handling exception visual-studio

代码如何捕获异常(try,catch(...))?

push 0FFFFFFFFh
...
mov eax, dword ptr fs:[00000000h]
...
mov dword ptr fs:[00000000h],eax  
mov dword ptr [ebp-10h],esp
Run Code Online (Sandbox Code Playgroud)

这个代码在函数的"头部"中意味着什么,它捕获异常?

mov dword ptr [ebp-4], 0
Run Code Online (Sandbox Code Playgroud)

而这(在"尝试"的头部)?函数没有任何局部变量.

功能:

int SUM(int a, int b)
{
    try{}
    catch(...){}
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

什么存储在FS细分市场?

szx*_*szx 7

存储的值fs:[0]是指向链接EXCEPTION_REGISTRATION结构列表的指针.阅读此处了解更多详情:

关于Win32结构化异常处理深度的崩溃课程,MSJ 1997年1月