Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
2d8b7090
Commit
2d8b7090
authored
May 20, 2022
by
Eric Pouech
Committed by
Alexandre Julliard
May 24, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winedbg: Redefine internal types with predefined sizes.
This will help mapping a name to a basic type. Signed-off-by:
Eric Pouech
<
eric.pouech@gmail.com
>
parent
685126e8
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
266 additions
and
196 deletions
+266
-196
be_arm.c
programs/winedbg/be_arm.c
+18
-18
be_arm64.c
programs/winedbg/be_arm64.c
+34
-34
be_i386.c
programs/winedbg/be_i386.c
+34
-34
be_x86_64.c
programs/winedbg/be_x86_64.c
+49
-49
dbg.y
programs/winedbg/dbg.y
+17
-17
debugger.h
programs/winedbg/debugger.h
+18
-12
intvar.h
programs/winedbg/intvar.h
+11
-11
stack.c
programs/winedbg/stack.c
+4
-3
types.c
programs/winedbg/types.c
+81
-18
No files found.
programs/winedbg/be_arm.c
View file @
2d8b7090
...
...
@@ -1722,24 +1722,24 @@ static void be_arm_print_segment_info(HANDLE hThread, const dbg_ctx_t *ctx)
static
struct
dbg_internal_var
be_arm_ctx
[]
=
{
{
CV_ARM_R0
+
0
,
"r0"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R0
),
dbg_itype_unsigned_int
},
{
CV_ARM_R0
+
1
,
"r1"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R1
),
dbg_itype_unsigned_int
},
{
CV_ARM_R0
+
2
,
"r2"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R2
),
dbg_itype_unsigned_int
},
{
CV_ARM_R0
+
3
,
"r3"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R3
),
dbg_itype_unsigned_int
},
{
CV_ARM_R0
+
4
,
"r4"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R4
),
dbg_itype_unsigned_int
},
{
CV_ARM_R0
+
5
,
"r5"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R5
),
dbg_itype_unsigned_int
},
{
CV_ARM_R0
+
6
,
"r6"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R6
),
dbg_itype_unsigned_int
},
{
CV_ARM_R0
+
7
,
"r7"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R7
),
dbg_itype_unsigned_int
},
{
CV_ARM_R0
+
8
,
"r8"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R8
),
dbg_itype_unsigned_int
},
{
CV_ARM_R0
+
9
,
"r9"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R9
),
dbg_itype_unsigned_int
},
{
CV_ARM_R0
+
10
,
"r10"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R10
),
dbg_itype_unsigned_int
},
{
CV_ARM_R0
+
11
,
"r11"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R11
),
dbg_itype_unsigned_int
},
{
CV_ARM_R0
+
12
,
"r12"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R12
),
dbg_itype_unsigned_int
},
{
CV_ARM_SP
,
"sp"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Sp
),
dbg_itype_unsigned_int
},
{
CV_ARM_LR
,
"lr"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Lr
),
dbg_itype_unsigned_int
},
{
CV_ARM_PC
,
"pc"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Pc
),
dbg_itype_unsigned_int
},
{
CV_ARM_CPSR
,
"cpsr"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Cpsr
),
dbg_itype_unsigned_int
},
{
0
,
NULL
,
0
,
dbg_itype_none
}
{
CV_ARM_R0
+
0
,
"r0"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R0
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_R0
+
1
,
"r1"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R1
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_R0
+
2
,
"r2"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R2
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_R0
+
3
,
"r3"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R3
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_R0
+
4
,
"r4"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R4
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_R0
+
5
,
"r5"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R5
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_R0
+
6
,
"r6"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R6
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_R0
+
7
,
"r7"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R7
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_R0
+
8
,
"r8"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R8
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_R0
+
9
,
"r9"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R9
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_R0
+
10
,
"r10"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R10
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_R0
+
11
,
"r11"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R11
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_R0
+
12
,
"r12"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R12
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_SP
,
"sp"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Sp
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_LR
,
"lr"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Lr
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_PC
,
"pc"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Pc
),
dbg_itype_unsigned_int
32
},
{
CV_ARM_CPSR
,
"cpsr"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Cpsr
),
dbg_itype_unsigned_int
32
},
{
0
,
NULL
,
0
,
dbg_itype_none
}
};
static
BOOL
be_arm_is_step_over_insn
(
const
void
*
insn
)
...
...
programs/winedbg/be_arm64.c
View file @
2d8b7090
...
...
@@ -104,40 +104,40 @@ static void be_arm64_print_segment_info(HANDLE hThread, const dbg_ctx_t *ctx)
static
struct
dbg_internal_var
be_arm64_ctx
[]
=
{
{
CV_ARM64_PSTATE
,
"cpsr"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Cpsr
),
dbg_itype_unsigned_int
},
{
CV_ARM64_X0
+
0
,
"x0"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X0
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
1
,
"x1"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X1
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
2
,
"x2"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X2
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
3
,
"x3"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X3
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
4
,
"x4"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X4
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
5
,
"x5"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X5
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
6
,
"x6"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X6
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
7
,
"x7"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X7
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
8
,
"x8"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X8
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
9
,
"x9"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X9
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
10
,
"x10"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X10
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
11
,
"x11"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X11
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
12
,
"x12"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X12
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
13
,
"x13"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X13
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
14
,
"x14"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X14
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
15
,
"x15"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X15
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
16
,
"x16"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X16
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
17
,
"x17"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X17
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
18
,
"x18"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X18
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
19
,
"x19"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X19
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
20
,
"x20"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X20
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
21
,
"x21"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X21
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
22
,
"x22"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X22
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
23
,
"x23"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X23
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
24
,
"x24"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X24
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
25
,
"x25"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X25
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
26
,
"x26"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X26
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
27
,
"x27"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X27
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_X0
+
28
,
"x28"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X28
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_FP
,
"fp"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
Fp
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_LR
,
"lr"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
Lr
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_SP
,
"sp"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Sp
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_PC
,
"pc"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Pc
),
dbg_itype_unsigned_
long_int
},
{
CV_ARM64_PSTATE
,
"cpsr"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Cpsr
),
dbg_itype_unsigned_int
32
},
{
CV_ARM64_X0
+
0
,
"x0"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X0
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
1
,
"x1"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X1
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
2
,
"x2"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X2
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
3
,
"x3"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X3
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
4
,
"x4"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X4
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
5
,
"x5"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X5
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
6
,
"x6"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X6
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
7
,
"x7"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X7
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
8
,
"x8"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X8
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
9
,
"x9"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X9
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
10
,
"x10"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X10
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
11
,
"x11"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X11
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
12
,
"x12"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X12
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
13
,
"x13"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X13
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
14
,
"x14"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X14
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
15
,
"x15"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X15
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
16
,
"x16"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X16
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
17
,
"x17"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X17
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
18
,
"x18"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X18
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
19
,
"x19"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X19
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
20
,
"x20"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X20
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
21
,
"x21"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X21
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
22
,
"x22"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X22
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
23
,
"x23"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X23
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
24
,
"x24"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X24
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
25
,
"x25"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X25
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
26
,
"x26"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X26
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
27
,
"x27"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X27
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_X0
+
28
,
"x28"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
X28
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_FP
,
"fp"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
Fp
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_LR
,
"lr"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
s
.
Lr
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_SP
,
"sp"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Sp
),
dbg_itype_unsigned_
int64
},
{
CV_ARM64_PC
,
"pc"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Pc
),
dbg_itype_unsigned_
int64
},
{
0
,
NULL
,
0
,
dbg_itype_none
}
};
...
...
programs/winedbg/be_i386.c
View file @
2d8b7090
...
...
@@ -277,40 +277,40 @@ static void be_i386_print_segment_info(HANDLE hThread, const dbg_ctx_t *ctx)
static
struct
dbg_internal_var
be_i386_ctx
[]
=
{
{
CV_REG_AL
,
"AL"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Eax
),
dbg_itype_unsigned_
char_int
},
{
CV_REG_CL
,
"CL"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ecx
),
dbg_itype_unsigned_
char_int
},
{
CV_REG_DL
,
"DL"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Edx
),
dbg_itype_unsigned_
char_int
},
{
CV_REG_BL
,
"BL"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ebx
),
dbg_itype_unsigned_
char_int
},
{
CV_REG_AH
,
"AH"
,
(
void
*
)(
FIELD_OFFSET
(
WOW64_CONTEXT
,
Eax
)
+
1
),
dbg_itype_unsigned_
char_int
},
{
CV_REG_CH
,
"CH"
,
(
void
*
)(
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ecx
)
+
1
),
dbg_itype_unsigned_
char_int
},
{
CV_REG_DH
,
"DH"
,
(
void
*
)(
FIELD_OFFSET
(
WOW64_CONTEXT
,
Edx
)
+
1
),
dbg_itype_unsigned_
char_int
},
{
CV_REG_BH
,
"BH"
,
(
void
*
)(
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ebx
)
+
1
),
dbg_itype_unsigned_
char_int
},
{
CV_REG_AX
,
"AX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Eax
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_CX
,
"CX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ecx
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_DX
,
"DX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Edx
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_BX
,
"BX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ebx
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_SP
,
"SP"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Esp
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_BP
,
"BP"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ebp
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_SI
,
"SI"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Esi
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_DI
,
"DI"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Edi
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_EAX
,
"EAX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Eax
),
dbg_itype_unsigned_int
},
{
CV_REG_ECX
,
"ECX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ecx
),
dbg_itype_unsigned_int
},
{
CV_REG_EDX
,
"EDX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Edx
),
dbg_itype_unsigned_int
},
{
CV_REG_EBX
,
"EBX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ebx
),
dbg_itype_unsigned_int
},
{
CV_REG_ESP
,
"ESP"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Esp
),
dbg_itype_unsigned_int
},
{
CV_REG_EBP
,
"EBP"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ebp
),
dbg_itype_unsigned_int
},
{
CV_REG_ESI
,
"ESI"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Esi
),
dbg_itype_unsigned_int
},
{
CV_REG_EDI
,
"EDI"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Edi
),
dbg_itype_unsigned_int
},
{
CV_REG_ES
,
"ES"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
SegEs
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_CS
,
"CS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
SegCs
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_SS
,
"SS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
SegSs
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_DS
,
"DS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
SegDs
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_FS
,
"FS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
SegFs
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_GS
,
"GS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
SegGs
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_IP
,
"IP"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Eip
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_FLAGS
,
"FLAGS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
EFlags
),
dbg_itype_unsigned_
short_int
},
{
CV_REG_EIP
,
"EIP"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Eip
),
dbg_itype_unsigned_int
},
{
CV_REG_EFLAGS
,
"EFLAGS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
EFlags
),
dbg_itype_unsigned_int
},
{
CV_REG_AL
,
"AL"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Eax
),
dbg_itype_unsigned_
int8
},
{
CV_REG_CL
,
"CL"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ecx
),
dbg_itype_unsigned_
int8
},
{
CV_REG_DL
,
"DL"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Edx
),
dbg_itype_unsigned_
int8
},
{
CV_REG_BL
,
"BL"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ebx
),
dbg_itype_unsigned_
int8
},
{
CV_REG_AH
,
"AH"
,
(
void
*
)(
FIELD_OFFSET
(
WOW64_CONTEXT
,
Eax
)
+
1
),
dbg_itype_unsigned_
int8
},
{
CV_REG_CH
,
"CH"
,
(
void
*
)(
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ecx
)
+
1
),
dbg_itype_unsigned_
int8
},
{
CV_REG_DH
,
"DH"
,
(
void
*
)(
FIELD_OFFSET
(
WOW64_CONTEXT
,
Edx
)
+
1
),
dbg_itype_unsigned_
int8
},
{
CV_REG_BH
,
"BH"
,
(
void
*
)(
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ebx
)
+
1
),
dbg_itype_unsigned_
int8
},
{
CV_REG_AX
,
"AX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Eax
),
dbg_itype_unsigned_
int16
},
{
CV_REG_CX
,
"CX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ecx
),
dbg_itype_unsigned_
int16
},
{
CV_REG_DX
,
"DX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Edx
),
dbg_itype_unsigned_
int16
},
{
CV_REG_BX
,
"BX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ebx
),
dbg_itype_unsigned_
int16
},
{
CV_REG_SP
,
"SP"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Esp
),
dbg_itype_unsigned_
int16
},
{
CV_REG_BP
,
"BP"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ebp
),
dbg_itype_unsigned_
int16
},
{
CV_REG_SI
,
"SI"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Esi
),
dbg_itype_unsigned_
int16
},
{
CV_REG_DI
,
"DI"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Edi
),
dbg_itype_unsigned_
int16
},
{
CV_REG_EAX
,
"EAX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Eax
),
dbg_itype_unsigned_int
32
},
{
CV_REG_ECX
,
"ECX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ecx
),
dbg_itype_unsigned_int
32
},
{
CV_REG_EDX
,
"EDX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Edx
),
dbg_itype_unsigned_int
32
},
{
CV_REG_EBX
,
"EBX"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ebx
),
dbg_itype_unsigned_int
32
},
{
CV_REG_ESP
,
"ESP"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Esp
),
dbg_itype_unsigned_int
32
},
{
CV_REG_EBP
,
"EBP"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Ebp
),
dbg_itype_unsigned_int
32
},
{
CV_REG_ESI
,
"ESI"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Esi
),
dbg_itype_unsigned_int
32
},
{
CV_REG_EDI
,
"EDI"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Edi
),
dbg_itype_unsigned_int
32
},
{
CV_REG_ES
,
"ES"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
SegEs
),
dbg_itype_unsigned_
int16
},
{
CV_REG_CS
,
"CS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
SegCs
),
dbg_itype_unsigned_
int16
},
{
CV_REG_SS
,
"SS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
SegSs
),
dbg_itype_unsigned_
int16
},
{
CV_REG_DS
,
"DS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
SegDs
),
dbg_itype_unsigned_
int16
},
{
CV_REG_FS
,
"FS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
SegFs
),
dbg_itype_unsigned_
int16
},
{
CV_REG_GS
,
"GS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
SegGs
),
dbg_itype_unsigned_
int16
},
{
CV_REG_IP
,
"IP"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Eip
),
dbg_itype_unsigned_
int16
},
{
CV_REG_FLAGS
,
"FLAGS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
EFlags
),
dbg_itype_unsigned_
int16
},
{
CV_REG_EIP
,
"EIP"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
Eip
),
dbg_itype_unsigned_int
32
},
{
CV_REG_EFLAGS
,
"EFLAGS"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
EFlags
),
dbg_itype_unsigned_int
32
},
{
CV_REG_ST0
,
"ST0"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
FloatSave
.
RegisterArea
[
0
]),
dbg_itype_long_real
},
{
CV_REG_ST0
+
1
,
"ST1"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
FloatSave
.
RegisterArea
[
10
]),
dbg_itype_long_real
},
{
CV_REG_ST0
+
2
,
"ST2"
,
(
void
*
)
FIELD_OFFSET
(
WOW64_CONTEXT
,
FloatSave
.
RegisterArea
[
20
]),
dbg_itype_long_real
},
...
...
programs/winedbg/be_x86_64.c
View file @
2d8b7090
...
...
@@ -179,55 +179,55 @@ static void be_x86_64_print_segment_info(HANDLE hThread, const dbg_ctx_t *ctx)
static
struct
dbg_internal_var
be_x86_64_ctx
[]
=
{
{
CV_AMD64_AL
,
"AL"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rax
),
dbg_itype_unsigned_
char_int
},
{
CV_AMD64_BL
,
"BL"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbx
),
dbg_itype_unsigned_
char_int
},
{
CV_AMD64_CL
,
"CL"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rcx
),
dbg_itype_unsigned_
char_int
},
{
CV_AMD64_DL
,
"DL"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdx
),
dbg_itype_unsigned_
char_int
},
{
CV_AMD64_AH
,
"AH"
,
(
void
*
)(
FIELD_OFFSET
(
CONTEXT
,
Rax
)
+
1
),
dbg_itype_unsigned_
char_int
},
{
CV_AMD64_BH
,
"BH"
,
(
void
*
)(
FIELD_OFFSET
(
CONTEXT
,
Rbx
)
+
1
),
dbg_itype_unsigned_
char_int
},
{
CV_AMD64_CH
,
"CH"
,
(
void
*
)(
FIELD_OFFSET
(
CONTEXT
,
Rcx
)
+
1
),
dbg_itype_unsigned_
char_int
},
{
CV_AMD64_DH
,
"DH"
,
(
void
*
)(
FIELD_OFFSET
(
CONTEXT
,
Rdx
)
+
1
),
dbg_itype_unsigned_
char_int
},
{
CV_AMD64_AX
,
"AX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rax
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_BX
,
"BX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbx
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_CX
,
"CX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rcx
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_DX
,
"DX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdx
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_SP
,
"SP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rsp
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_BP
,
"BP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbp
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_SI
,
"SI"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rsi
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_DI
,
"DI"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdi
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_EAX
,
"EAX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rax
),
dbg_itype_unsigned_int
},
{
CV_AMD64_EBX
,
"EBX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbx
),
dbg_itype_unsigned_int
},
{
CV_AMD64_ECX
,
"ECX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rcx
),
dbg_itype_unsigned_int
},
{
CV_AMD64_EDX
,
"EDX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdx
),
dbg_itype_unsigned_int
},
{
CV_AMD64_ESP
,
"ESP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rsp
),
dbg_itype_unsigned_int
},
{
CV_AMD64_EBP
,
"EBP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbp
),
dbg_itype_unsigned_int
},
{
CV_AMD64_ESI
,
"ESI"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rsi
),
dbg_itype_unsigned_int
},
{
CV_AMD64_EDI
,
"EDI"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdi
),
dbg_itype_unsigned_int
},
{
CV_AMD64_ES
,
"ES"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
SegEs
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_CS
,
"CS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
SegCs
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_SS
,
"SS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
SegSs
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_DS
,
"DS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
SegDs
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_FS
,
"FS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
SegFs
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_GS
,
"GS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
SegGs
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_FLAGS
,
"FLAGS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
EFlags
),
dbg_itype_unsigned_
short_int
},
{
CV_AMD64_EFLAGS
,
"EFLAGS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
EFlags
),
dbg_itype_unsigned_int
},
{
CV_AMD64_RIP
,
"RIP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rip
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_RAX
,
"RAX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rax
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_RBX
,
"RBX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbx
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_RCX
,
"RCX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rcx
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_RDX
,
"RDX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdx
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_RSP
,
"RSP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rsp
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_RBP
,
"RBP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbp
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_RSI
,
"RSI"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rsi
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_RDI
,
"RDI"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdi
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_R8
,
"R8"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R8
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_R9
,
"R9"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R9
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_R10
,
"R10"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R10
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_R11
,
"R11"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R11
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_R12
,
"R12"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R12
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_R13
,
"R13"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R13
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_R14
,
"R14"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R14
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_R15
,
"R15"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R15
),
dbg_itype_unsigned_
long_int
},
{
CV_AMD64_AL
,
"AL"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rax
),
dbg_itype_unsigned_
int8
},
{
CV_AMD64_BL
,
"BL"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbx
),
dbg_itype_unsigned_
int8
},
{
CV_AMD64_CL
,
"CL"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rcx
),
dbg_itype_unsigned_
int8
},
{
CV_AMD64_DL
,
"DL"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdx
),
dbg_itype_unsigned_
int8
},
{
CV_AMD64_AH
,
"AH"
,
(
void
*
)(
FIELD_OFFSET
(
CONTEXT
,
Rax
)
+
1
),
dbg_itype_unsigned_
int8
},
{
CV_AMD64_BH
,
"BH"
,
(
void
*
)(
FIELD_OFFSET
(
CONTEXT
,
Rbx
)
+
1
),
dbg_itype_unsigned_
int8
},
{
CV_AMD64_CH
,
"CH"
,
(
void
*
)(
FIELD_OFFSET
(
CONTEXT
,
Rcx
)
+
1
),
dbg_itype_unsigned_
int8
},
{
CV_AMD64_DH
,
"DH"
,
(
void
*
)(
FIELD_OFFSET
(
CONTEXT
,
Rdx
)
+
1
),
dbg_itype_unsigned_
int8
},
{
CV_AMD64_AX
,
"AX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rax
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_BX
,
"BX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbx
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_CX
,
"CX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rcx
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_DX
,
"DX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdx
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_SP
,
"SP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rsp
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_BP
,
"BP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbp
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_SI
,
"SI"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rsi
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_DI
,
"DI"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdi
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_EAX
,
"EAX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rax
),
dbg_itype_unsigned_int
32
},
{
CV_AMD64_EBX
,
"EBX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbx
),
dbg_itype_unsigned_int
32
},
{
CV_AMD64_ECX
,
"ECX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rcx
),
dbg_itype_unsigned_int
32
},
{
CV_AMD64_EDX
,
"EDX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdx
),
dbg_itype_unsigned_int
32
},
{
CV_AMD64_ESP
,
"ESP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rsp
),
dbg_itype_unsigned_int
32
},
{
CV_AMD64_EBP
,
"EBP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbp
),
dbg_itype_unsigned_int
32
},
{
CV_AMD64_ESI
,
"ESI"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rsi
),
dbg_itype_unsigned_int
32
},
{
CV_AMD64_EDI
,
"EDI"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdi
),
dbg_itype_unsigned_int
32
},
{
CV_AMD64_ES
,
"ES"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
SegEs
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_CS
,
"CS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
SegCs
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_SS
,
"SS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
SegSs
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_DS
,
"DS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
SegDs
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_FS
,
"FS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
SegFs
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_GS
,
"GS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
SegGs
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_FLAGS
,
"FLAGS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
EFlags
),
dbg_itype_unsigned_
int16
},
{
CV_AMD64_EFLAGS
,
"EFLAGS"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
EFlags
),
dbg_itype_unsigned_int
32
},
{
CV_AMD64_RIP
,
"RIP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rip
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_RAX
,
"RAX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rax
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_RBX
,
"RBX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbx
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_RCX
,
"RCX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rcx
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_RDX
,
"RDX"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdx
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_RSP
,
"RSP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rsp
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_RBP
,
"RBP"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rbp
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_RSI
,
"RSI"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rsi
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_RDI
,
"RDI"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
Rdi
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_R8
,
"R8"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R8
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_R9
,
"R9"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R9
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_R10
,
"R10"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R10
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_R11
,
"R11"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R11
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_R12
,
"R12"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R12
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_R13
,
"R13"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R13
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_R14
,
"R14"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R14
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_R15
,
"R15"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
R15
),
dbg_itype_unsigned_
int64
},
{
CV_AMD64_ST0
,
"ST0"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
FltSave
.
FloatRegisters
[
0
]),
dbg_itype_long_real
},
{
CV_AMD64_ST0
+
1
,
"ST1"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
FltSave
.
FloatRegisters
[
1
]),
dbg_itype_long_real
},
{
CV_AMD64_ST0
+
2
,
"ST2"
,
(
void
*
)
FIELD_OFFSET
(
CONTEXT
,
u
.
FltSave
.
FloatRegisters
[
2
]),
dbg_itype_long_real
},
...
...
programs/winedbg/dbg.y
View file @
2d8b7090
...
...
@@ -306,23 +306,23 @@ noprocess_state:
type_expr:
tCHAR { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_char; }
| tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_signed_int; }
| tLONG tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id =
dbg_itype_signed_long_int
; }
| tLONG { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id =
dbg_itype_signed_long_int
; }
| tUNSIGNED tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_int; }
| tUNSIGNED { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_int; }
| tLONG tUNSIGNED tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id =
dbg_itype_unsigned_long_int
; }
| tLONG tUNSIGNED { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id =
dbg_itype_unsigned_long_int
; }
| tSHORT tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_signed_
short_int
; }
| tSHORT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_signed_
short_int
; }
| tSHORT tUNSIGNED tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_
short_int
; }
| tSHORT tUNSIGNED { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_
short_int
; }
| tSIGNED tCHAR { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_signed_
char_int
; }
| tUNSIGNED tCHAR { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_
char_int
; }
| tLONG tLONG tUNSIGNED tINT{ $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_
longlong_int
; }
| tLONG tLONG tUNSIGNED { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_
longlong_int
; }
| tLONG tLONG tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_signed_
longlong_int
; }
| tLONG tLONG { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_signed_
longlong_int
; }
| tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_signed_int
32
; }
| tLONG tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id =
ADDRSIZE == 4 ? dbg_itype_signed_long32 : dbg_itype_signed_long64
; }
| tLONG { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id =
ADDRSIZE == 4 ? dbg_itype_signed_long32 : dbg_itype_signed_long64
; }
| tUNSIGNED tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_int
32
; }
| tUNSIGNED { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_int
32
; }
| tLONG tUNSIGNED tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id =
ADDRSIZE == 4 ? dbg_itype_unsigned_long32 : dbg_itype_unsigned_long64
; }
| tLONG tUNSIGNED { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id =
ADDRSIZE == 4 ? dbg_itype_unsigned_long32 : dbg_itype_unsigned_long64
; }
| tSHORT tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_signed_
int16
; }
| tSHORT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_signed_
int16
; }
| tSHORT tUNSIGNED tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_
int16
; }
| tSHORT tUNSIGNED { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_
int16
; }
| tSIGNED tCHAR { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_signed_
int8
; }
| tUNSIGNED tCHAR { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_
int8
; }
| tLONG tLONG tUNSIGNED tINT{ $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_
int64
; }
| tLONG tLONG tUNSIGNED { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_unsigned_
int64
; }
| tLONG tLONG tINT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_signed_
int64
; }
| tLONG tLONG { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_signed_
int64
; }
| tFLOAT { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_short_real; }
| tDOUBLE { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_real; }
| tLONG tDOUBLE { $$.type = type_expr_type_id; $$.deref_count = 0; $$.u.type.module = 0; $$.u.type.id = dbg_itype_long_real; }
...
...
programs/winedbg/debugger.h
View file @
2d8b7090
...
...
@@ -68,23 +68,29 @@ enum dbg_line_status
enum
dbg_internal_types
{
dbg_itype_first
=
0xffffff00
,
dbg_itype_unsigned_int
,
dbg_itype_signed_int
,
dbg_itype_signed_char_int
,
dbg_itype_unsigned_char_int
,
dbg_itype_unsigned_short_int
,
dbg_itype_signed_short_int
,
dbg_itype_unsigned_long_int
,
dbg_itype_signed_long_int
,
dbg_itype_unsigned_longlong_int
,
dbg_itype_signed_longlong_int
,
dbg_itype_char
,
dbg_itype_wchar
,
dbg_itype_unsigned_int8
,
dbg_itype_signed_int8
,
dbg_itype_unsigned_int16
,
dbg_itype_signed_int16
,
dbg_itype_unsigned_int32
,
dbg_itype_signed_int32
,
dbg_itype_unsigned_int64
,
dbg_itype_signed_int64
,
dbg_itype_unsigned_int128
,
dbg_itype_signed_int128
,
dbg_itype_unsigned_long32
,
dbg_itype_signed_long32
,
dbg_itype_unsigned_long64
,
dbg_itype_signed_long64
,
/* they represent the dbg_lg(u)int_t types */
dbg_itype_lgint
,
dbg_itype_lguint
,
dbg_itype_char
,
dbg_itype_wchar
,
dbg_itype_short_real
,
/* aka float */
dbg_itype_real
,
/* aka double */
dbg_itype_long_real
,
/* aka long double */
...
...
programs/winedbg/intvar.h
View file @
2d8b7090
...
...
@@ -20,22 +20,22 @@
*/
/* break handling */
INTERNAL_VAR
(
BreakAllThreadsStartup
,
FALSE
,
NULL
,
dbg_itype_unsigned_int
)
INTERNAL_VAR
(
BreakOnCritSectTimeOut
,
FALSE
,
NULL
,
dbg_itype_unsigned_int
)
INTERNAL_VAR
(
BreakOnAttach
,
FALSE
,
NULL
,
dbg_itype_unsigned_int
)
INTERNAL_VAR
(
BreakOnFirstChance
,
FALSE
,
NULL
,
dbg_itype_unsigned_int
)
INTERNAL_VAR
(
BreakOnDllLoad
,
FALSE
,
NULL
,
dbg_itype_unsigned_int
)
INTERNAL_VAR
(
CanDeferOnBPByAddr
,
FALSE
,
NULL
,
dbg_itype_unsigned_int
)
INTERNAL_VAR
(
BreakAllThreadsStartup
,
FALSE
,
NULL
,
dbg_itype_unsigned_int32
)
INTERNAL_VAR
(
BreakOnCritSectTimeOut
,
FALSE
,
NULL
,
dbg_itype_unsigned_int32
)
INTERNAL_VAR
(
BreakOnAttach
,
FALSE
,
NULL
,
dbg_itype_unsigned_int32
)
INTERNAL_VAR
(
BreakOnFirstChance
,
FALSE
,
NULL
,
dbg_itype_unsigned_int32
)
INTERNAL_VAR
(
BreakOnDllLoad
,
FALSE
,
NULL
,
dbg_itype_unsigned_int32
)
INTERNAL_VAR
(
CanDeferOnBPByAddr
,
FALSE
,
NULL
,
dbg_itype_unsigned_int32
)
/* current process/thread */
INTERNAL_VAR
(
ThreadId
,
FALSE
,
&
dbg_curr_tid
,
dbg_itype_unsigned_int
)
INTERNAL_VAR
(
ProcessId
,
FALSE
,
&
dbg_curr_pid
,
dbg_itype_unsigned_int
)
INTERNAL_VAR
(
ThreadId
,
FALSE
,
&
dbg_curr_tid
,
dbg_itype_unsigned_int32
)
INTERNAL_VAR
(
ProcessId
,
FALSE
,
&
dbg_curr_pid
,
dbg_itype_unsigned_int32
)
/* symbol manipulation */
INTERNAL_VAR
(
AlwaysShowThunks
,
FALSE
,
NULL
,
dbg_itype_unsigned_int
)
INTERNAL_VAR
(
AlwaysShowThunks
,
FALSE
,
NULL
,
dbg_itype_unsigned_int32
)
/* process manipulation */
INTERNAL_VAR
(
AlsoDebugProcChild
,
FALSE
,
NULL
,
dbg_itype_unsigned_int
)
INTERNAL_VAR
(
AlsoDebugProcChild
,
FALSE
,
NULL
,
dbg_itype_unsigned_int32
)
/* automatic invocation on failure */
INTERNAL_VAR
(
ShowCrashDialog
,
TRUE
,
NULL
,
dbg_itype_unsigned_int
)
INTERNAL_VAR
(
ShowCrashDialog
,
TRUE
,
NULL
,
dbg_itype_unsigned_int32
)
programs/winedbg/stack.c
View file @
2d8b7090
...
...
@@ -108,6 +108,7 @@ BOOL stack_get_register_frame(const struct dbg_internal_var* div, struct dbg_lva
else
{
enum
be_cpu_addr
kind
;
DWORD
itype
=
ADDRSIZE
==
4
?
dbg_itype_unsigned_long32
:
dbg_itype_unsigned_long64
;
if
(
!
dbg_curr_process
->
be_cpu
->
get_register_info
(
div
->
val
,
&
kind
))
return
FALSE
;
...
...
@@ -115,13 +116,13 @@ BOOL stack_get_register_frame(const struct dbg_internal_var* div, struct dbg_lva
switch
(
kind
)
{
case
be_cpu_addr_pc
:
init_lvalue_in_debugger
(
lvalue
,
dbg_itype_unsigned_long_int
,
&
currfrm
->
linear_pc
);
init_lvalue_in_debugger
(
lvalue
,
itype
,
&
currfrm
->
linear_pc
);
break
;
case
be_cpu_addr_stack
:
init_lvalue_in_debugger
(
lvalue
,
dbg_itype_unsigned_long_int
,
&
currfrm
->
linear_stack
);
init_lvalue_in_debugger
(
lvalue
,
itype
,
&
currfrm
->
linear_stack
);
break
;
case
be_cpu_addr_frame
:
init_lvalue_in_debugger
(
lvalue
,
dbg_itype_unsigned_long_int
,
&
currfrm
->
linear_frame
);
init_lvalue_in_debugger
(
lvalue
,
itype
,
&
currfrm
->
linear_frame
);
break
;
}
}
...
...
programs/winedbg/types.c
View file @
2d8b7090
...
...
@@ -894,76 +894,130 @@ BOOL types_get_info(const struct dbg_type* type, IMAGEHLP_SYMBOL_TYPE_INFO ti, v
default:
WINE_FIXME
(
"unsupported %u for lgint_t
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_unsigned_long
_int
:
case
dbg_itype_unsigned_long
32
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
ADDRSIZE
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
4
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btUInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for u-long int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_signed_long
_int
:
case
dbg_itype_signed_long
32
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
ADDRSIZE
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
4
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for s-long int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_unsigned_
int
:
case
dbg_itype_unsigned_
long64
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
4
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
8
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btUInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for u-long int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_signed_long64
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
8
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for s-long int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_unsigned_int8
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
1
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btUInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for u-int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_signed_int
:
case
dbg_itype_signed_int
8
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
4
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
1
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for s-int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_unsigned_
short_int
:
case
dbg_itype_unsigned_
int16
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
2
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btUInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for u-
short
int
\n
"
,
ti
);
return
FALSE
;
default:
WINE_FIXME
(
"unsupported %u for u-int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_signed_
short_int
:
case
dbg_itype_signed_
int16
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
2
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for s-
short
int
\n
"
,
ti
);
return
FALSE
;
default:
WINE_FIXME
(
"unsupported %u for s-int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_unsigned_
char_int
:
case
dbg_itype_unsigned_
int32
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
1
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
4
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btUInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for u-
char
int
\n
"
,
ti
);
return
FALSE
;
default:
WINE_FIXME
(
"unsupported %u for u-int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_signed_
char_int
:
case
dbg_itype_signed_
int32
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
1
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
4
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for s-char int
\n
"
,
ti
);
return
FALSE
;
default:
WINE_FIXME
(
"unsupported %u for s-int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_unsigned_int64
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
8
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btUInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for u-int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_signed_int64
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
8
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for s-int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_unsigned_int128
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
16
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btUInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for u-int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_signed_int128
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
16
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for s-int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_char
:
...
...
@@ -975,6 +1029,15 @@ BOOL types_get_info(const struct dbg_type* type, IMAGEHLP_SYMBOL_TYPE_INFO ti, v
default:
WINE_FIXME
(
"unsupported %u for char int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_wchar
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
2
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btWChar
;
break
;
default:
WINE_FIXME
(
"unsupported %u for char int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_astring
:
switch
(
ti
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment