ݺߣ

ݺߣShare a Scribd company logo
Windows OS ??? ???? ??
        ?? ? ???




        ? ?????????
             Pluto Studio
                 ???
? ??? ??? ???
?? ??? ??? ? ? ??? ??? ???



                   ????????!!!!!!!!!!!
                   ??? ? ??????.?
??? ?? ??? ???~
 ?? ??? ??? ? ? ??? ??? ???

???? ?? ?? ?? ??? ??
???? ?? ?? ?? ??? ?? ?
OS ??? Event? ?? ??
                SEH(Structured Exception Handling)



                      API
???? ?? ?? ?? ?? ??? ??

                  MiniDumpWriteDump()
SEH(Structured Exception Handling)?
Windows OS? ????
             Exception Handling Service



         Compiler-Level SEH

         System-Level SEH
         (Raw Operating System SEH)

          Windows O.S
SEH ? ???

?????? Exception ? ?? ?? ?
             OS ??? Message? ?? ??




SetUnhandledExceptionFilter() ???

?????? Exception ? ?? ?? ?
    OS? ??? ?? Callback Function ????
ٱ𳾨C𱹱-




     Visual Studio 2008?? ??? ?? ????
Linker ??? ?? ???? ??? ?? ?? ???~
                     /SAFESEH:NO
ٱ𳾨C𱹱-

System-Level-SEH ? ?? ????
?? ??? ??? Issue?? ?? ?
??? ??? ?? MS??? ???
??? ?? ??? ???


?? ??? ??? ??? ?? ??
??


??? Visual Stuido 6.0?? ???
? 2005??? SAFESEH?? ???
???? ???
Compiler-Level SEH
Compiler-Level-SEH?...
    1. Visual Studio Compiler Keyword
       __try, __finally, __except
    2. ? Keyword? ???? ????
       System-Level-SEH ? ??? ? ????.

???? C++ ?? ??(try, catch)??
                         ?? ????
    Microsoft Visual C++ ????? C++ ?????
    Windows SEH(System-Level-SEH)???? ?? ?,
    Visual C++????? try, catch ??? ???
    ????? Compiler-Level SEH ???? ??.
Compiler-Level SEH




???? C++ Exception Handling? ???? ?? ??? ?????.

__try??? try , __except??? catch ????? ?? ??? ???
?????? ????. C++ Exception Handling? ?????
Compiler-Level-SEH ????? ??? ??????...
Compiler-Level SEH
Compiler-Level SEH
Compiler-Level SEH
Compiler-Level SEH
         ? ?? ?? ???
         ??? ??????
Compiler-Level SEH
 ???? Compiler-Level SEH Mechanism? ???? SEH Callback ?
 ?? ??? ? ????.

 ?? __except( filterCallbackFunction(GetExceptionInformation() ) )
 ??? filterCallbackFunction() ??? SEH Callback ??? ????
 ?????.



?? ?? FS:[0]? Exception Handler ??? ???? System-Level SEH
? ??? ???? ????.

Compiler-Level-SEH ??? Visual C++ ?????? ???? ?????
?? ?? ?? 6.0??? __except_handler3??? 2008???
_except_handler4 ??? FS:[0]? ??? ?? ? ??? ??? ??
Callback ??? __except ??? ??? ??? ???.(?? ? ???
Callback??? ?? ?? Filter Function??? ??????.)
???. ???? ? ?? ??? ???? ?????.
?? ???.

__except() ??? ??? Exception Filter ???
???? ???...


??? ????...


?? ?? ?? Process?? Exception ???? ? ?
Exception? Handling ?? ?? Filter ??? ??? Visual
C++ Compiler? ???? ??? SEH Callback ??(Visual
Studio 2008 ??? __except_handler3)?
SetUnhandledExceptionFilter () API? ??? ???
Filter ??? ?????.
???? ? ??
 Exception? ?? ?? ? ??? SEH????
 ?? ? ?? Callback ??? ??????.
 ??? ????.


??? ???? Compiler-Level-SEH? ???? ?? ?
? ? Callback?? Filter ??? ???? ???? __except()
??? ???? ?? ?? ?????.
??? ???? ??? ??... ??...


Exception? ???? ? ??? ??? Filter ???
SetUnhandledExceptionFilter () API ??? ??? ????
??? ??... ?????.
??? ???? ??? ????
Dump? :
Exception ?? ? ?? ????? ??? ???
??? ??? ??
(Snapshot of the Application State of the exact moment of Failure).


??? ? ? ????...?
Symbol File ? Exception? ??? ???? ??? ??? pdb ??? ?
?? Exception ?? ?? ???? ?? Symbol ? Resolution ?? ? ?
????.

?? ??? ? ?? ??? ?? Exception ??? ???? ???? ?
? ????.
MiniDumpWriteDump

??? ??
 1) ?? ?? : dbghelp.h
 2) Library ?? : dbghelp.lib
 3) dll ??    : dbghelp.dll



???? Debugging Tools for Windows (x86) ????
Windbg? ????? ?? ??? ?? ?? ?? SDK ?? ??
?? ???~~~
(?? ?? ?? ?? ??? 6.12.2.633 ???. )
MiniDumpWriteDump
? ??? ??? ?? ? ???

?? ?? ??? ??? ???? ?? ????? ??

?? ?? ?? ??? ??? ??? ??? ? ??? ??

???? ?? ????

?? ?? ??? ?? ?? ?? ??? ? ?? ? ????

??? ?? ???? ?????...
? ?? ?~~




    CRT Library
    3rd party components


    ????
    "SetUnhandledExceptionFilter" and VC8
    ???? ??????~~~
QnA

More Related Content

Windows os ??? ???? ??

  • 1. Windows OS ??? ???? ?? ?? ? ??? ? ????????? Pluto Studio ???
  • 2. ? ??? ??? ??? ?? ??? ??? ? ? ??? ??? ??? ????????!!!!!!!!!!! ??? ? ??????.?
  • 3. ??? ?? ??? ???~ ?? ??? ??? ? ? ??? ??? ??? ???? ?? ?? ?? ??? ?? ???? ?? ?? ?? ??? ?? ? OS ??? Event? ?? ?? SEH(Structured Exception Handling) API ???? ?? ?? ?? ?? ??? ?? MiniDumpWriteDump()
  • 4. SEH(Structured Exception Handling)? Windows OS? ???? Exception Handling Service Compiler-Level SEH System-Level SEH (Raw Operating System SEH) Windows O.S
  • 5. SEH ? ??? ?????? Exception ? ?? ?? ? OS ??? Message? ?? ?? SetUnhandledExceptionFilter() ??? ?????? Exception ? ?? ?? ? OS? ??? ?? Callback Function ????
  • 6. ٱ𳾨C𱹱- Visual Studio 2008?? ??? ?? ???? Linker ??? ?? ???? ??? ?? ?? ???~ /SAFESEH:NO
  • 7. ٱ𳾨C𱹱- System-Level-SEH ? ?? ???? ?? ??? ??? Issue?? ?? ? ??? ??? ?? MS??? ??? ??? ?? ??? ??? ?? ??? ??? ??? ?? ?? ?? ??? Visual Stuido 6.0?? ??? ? 2005??? SAFESEH?? ??? ???? ???
  • 8. Compiler-Level SEH Compiler-Level-SEH?... 1. Visual Studio Compiler Keyword __try, __finally, __except 2. ? Keyword? ???? ???? System-Level-SEH ? ??? ? ????. ???? C++ ?? ??(try, catch)?? ?? ???? Microsoft Visual C++ ????? C++ ????? Windows SEH(System-Level-SEH)???? ?? ?, Visual C++????? try, catch ??? ??? ????? Compiler-Level SEH ???? ??.
  • 9. Compiler-Level SEH ???? C++ Exception Handling? ???? ?? ??? ?????. __try??? try , __except??? catch ????? ?? ??? ??? ?????? ????. C++ Exception Handling? ????? Compiler-Level-SEH ????? ??? ??????...
  • 13. Compiler-Level SEH ? ?? ?? ??? ??? ??????
  • 14. Compiler-Level SEH ???? Compiler-Level SEH Mechanism? ???? SEH Callback ? ?? ??? ? ????. ?? __except( filterCallbackFunction(GetExceptionInformation() ) ) ??? filterCallbackFunction() ??? SEH Callback ??? ???? ?????. ?? ?? FS:[0]? Exception Handler ??? ???? System-Level SEH ? ??? ???? ????. Compiler-Level-SEH ??? Visual C++ ?????? ???? ????? ?? ?? ?? 6.0??? __except_handler3??? 2008??? _except_handler4 ??? FS:[0]? ??? ?? ? ??? ??? ?? Callback ??? __except ??? ??? ??? ???.(?? ? ??? Callback??? ?? ?? Filter Function??? ??????.) ???. ???? ? ?? ??? ???? ?????.
  • 15. ?? ???. __except() ??? ??? Exception Filter ??? ???? ???... ??? ????... ?? ?? ?? Process?? Exception ???? ? ? Exception? Handling ?? ?? Filter ??? ??? Visual C++ Compiler? ???? ??? SEH Callback ??(Visual Studio 2008 ??? __except_handler3)? SetUnhandledExceptionFilter () API? ??? ??? Filter ??? ?????.
  • 16. ???? ? ?? Exception? ?? ?? ? ??? SEH???? ?? ? ?? Callback ??? ??????. ??? ????. ??? ???? Compiler-Level-SEH? ???? ?? ? ? ? Callback?? Filter ??? ???? ???? __except() ??? ???? ?? ?? ?????. ??? ???? ??? ??... ??... Exception? ???? ? ??? ??? Filter ??? SetUnhandledExceptionFilter () API ??? ??? ???? ??? ??... ?????.
  • 17. ??? ???? ??? ???? Dump? : Exception ?? ? ?? ????? ??? ??? ??? ??? ?? (Snapshot of the Application State of the exact moment of Failure). ??? ? ? ????...? Symbol File ? Exception? ??? ???? ??? ??? pdb ??? ? ?? Exception ?? ?? ???? ?? Symbol ? Resolution ?? ? ? ????. ?? ??? ? ?? ??? ?? Exception ??? ???? ???? ? ? ????.
  • 18. MiniDumpWriteDump ??? ?? 1) ?? ?? : dbghelp.h 2) Library ?? : dbghelp.lib 3) dll ?? : dbghelp.dll ???? Debugging Tools for Windows (x86) ???? Windbg? ????? ?? ??? ?? ?? ?? SDK ?? ?? ?? ???~~~ (?? ?? ?? ?? ??? 6.12.2.633 ???. )
  • 20. ? ??? ??? ?? ? ??? ?? ?? ??? ??? ???? ?? ????? ?? ?? ?? ?? ??? ??? ??? ??? ? ??? ?? ???? ?? ???? ?? ?? ??? ?? ?? ?? ??? ? ?? ? ???? ??? ?? ???? ?????...
  • 21. ? ?? ?~~ CRT Library 3rd party components ???? "SetUnhandledExceptionFilter" and VC8 ???? ??????~~~
  • 22. QnA