유용한 디버깅 기술 하나
1 | __asm int 3; |
Visual C에서 코드래벨에서 break point를 거는 코드입니다.
DLL에서 디버깅시 loading이 되기 전이면 tool에서 break point를 잡기가 까다롭습니다.
이럴때 break point를 원하는 코드에 "__asm int 3;" 이렇게 입력을 해놓으면,
실행시 이 시점에서 break point가 걸리게됩니다.
이와 비슷하게 Intel에서 정의해놓은 exception용 interrupt 코드들이 있어 추가합니다.
출처는 당근 MSDN이구요.
Intel-Defined Exceptions and Interrupts
Code | Definition |
00 | Divide error |
01 | Debug exception (single-step and hardware debugging) |
02 | NMI interrupt |
03 | Breakpoint |
04 | INTO detected overflow |
05 | BOUND range exceeded |
06 | Invalid opcode |
07 | Coprocessor device not available |
08 | Double fault |
0A | Invalid Task State Segment (TSS) |
0B | Segment not present |
0C | Stack fault |
0D | General protection fault (GPF) |
0E | Page fault |
'Programming' 카테고리의 다른 글
Original 1964 Dartmouth BASIC Manual (PDF) (0) | 2012.06.25 |
---|---|
Win32 API help file (0) | 2012.06.23 |
(JVM) Scala vs. Groovy vs. Clojure (0) | 2012.06.21 |
Introduction to JavaScript (0) | 2012.06.20 |
C preprocessor tricks (0) | 2012.06.20 |