Generate MSVC debugging info for KiUserExceptionDispatcher, KiIntSystemCall, KiFastSystemCall, KiFastSystemCallRet, KiSystemService, KiFastCallEntry, all systemcall stubs
Now usermode backtraces look as they should in WinDbg

svn path=/trunk/; revision=52705
This commit is contained in:
Timo Kreuzer
2011-07-17 00:38:46 +00:00
parent 005a7acbfc
commit 4040433bfa
6 changed files with 52 additions and 10 deletions
+7
View File
@@ -327,3 +327,10 @@ ENDM
#define NUL "\0"
#endif
/* Common definitions for FPO macro
see http://msdn.microsoft.com/en-us/library/ms679352%28VS.85%29.aspx */
#define FRAME_FPO 0
#define FRAME_TRAP 1
#define FRAME_TSS 2
#define FRAME_NONFPO 3
+20 -2
View File
@@ -71,24 +71,42 @@ MACRO(MAKE_LABEL, Name, Stackbytes)
PUBLIC _&Name&@&Stackbytes
_&Name&@&Stackbytes:
ENDM
MACRO(START_PROC, Name, Stackbytes)
PUBLIC _&Name&@&Stackbytes
.PROC &Name&@&Stackbytes
FPO 0, 0, 0, 0, 0, FRAME_FPO
ENDM
MACRO(END_PROC, Name, Stackbytes)
.ENDP &Name&@&Stackbytes
ENDM
#else
MACRO(MAKE_LABEL, Name, Stackbytes)
PUBLIC &Name
&Name:
ENDM
MACRO(START_PROC, Name, Stackbytes)
PUBLIC &Name
.PROC &Name
FPO 0, 0, 0, 0, 0, FRAME_FPO
ENDM
MACRO(END_PROC, Name, Stackbytes)
.ENDP &Name
ENDM
#endif
MACRO(STUB_U, Name, ArgCount)
Stackbytes = 4 * &ArgCount
MAKE_LABEL Zw&Name, %Stackbytes
MAKE_LABEL Nt&Name, %Stackbytes
START_PROC Nt&Name, %Stackbytes
STUBCODE_U SyscallId, %Stackbytes
END_PROC Nt&Name, %Stackbytes
SyscallId = SyscallId + 1
ENDM
MACRO(STUB_K, Name, ArgCount)
Stackbytes = 4 * &ArgCount
MAKE_LABEL Zw&Name, %Stackbytes
START_PROC Zw&Name, %Stackbytes
STUBCODE_K SyscallId, %Stackbytes
END_PROC Zw&Name, %Stackbytes
SyscallId = SyscallId + 1
ENDM
+7
View File
@@ -271,4 +271,11 @@ code = 1
#endif
/* Common definitions for FPO macro
see http://msdn.microsoft.com/en-us/library/ms679352%28VS.85%29.aspx */
#define FRAME_FPO 0
#define FRAME_TRAP 1
#define FRAME_TSS 2
#define FRAME_NONFPO 3
#endif /* _ASM_INC_ */