Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
f7f9c08f
Commit
f7f9c08f
authored
May 23, 2008
by
Eric Pouech
Committed by
Alexandre Julliard
May 27, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winedbg: Fixed the print_basic command when dealing with long long values.
parent
98e24868
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
7 deletions
+15
-7
debugger.h
programs/winedbg/debugger.h
+1
-1
memory.c
programs/winedbg/memory.c
+9
-3
types.c
programs/winedbg/types.c
+5
-3
No files found.
programs/winedbg/debugger.h
View file @
f7f9c08f
...
...
@@ -417,7 +417,7 @@ extern void print_value(const struct dbg_lvalue* addr, char format,
extern
int
types_print_type
(
const
struct
dbg_type
*
,
BOOL
details
);
extern
int
print_types
(
void
);
extern
long
int
types_extract_as_integer
(
const
struct
dbg_lvalue
*
);
extern
LONGLONG
types_extract_as_longlong
(
const
struct
dbg_lvalue
*
);
extern
LONGLONG
types_extract_as_longlong
(
const
struct
dbg_lvalue
*
,
unsigned
*
psize
);
extern
void
types_extract_as_address
(
const
struct
dbg_lvalue
*
,
ADDRESS64
*
);
extern
BOOL
types_deref
(
const
struct
dbg_lvalue
*
value
,
struct
dbg_lvalue
*
result
);
extern
BOOL
types_udt_find_element
(
struct
dbg_lvalue
*
value
,
const
char
*
name
,
long
int
*
tmpbuf
);
...
...
programs/winedbg/memory.c
View file @
f7f9c08f
...
...
@@ -474,14 +474,20 @@ void print_basic(const struct dbg_lvalue* lvalue, char format)
if
(
format
!=
0
)
{
LONGLONG
res
=
types_extract_as_longlong
(
lvalue
);
unsigned
size
;
LONGLONG
res
=
types_extract_as_longlong
(
lvalue
,
&
size
);
DWORD
hi
;
WCHAR
wch
;
/* FIXME: this implies i386 byte ordering */
switch
(
format
)
{
case
'x'
:
dbg_printf
(
"0x%x"
,
(
DWORD
)(
ULONG64
)
res
);
hi
=
(
ULONG64
)
res
>>
32
;
if
(
size
==
8
&&
hi
)
dbg_printf
(
"0x%x%08x"
,
hi
,
(
DWORD
)
res
);
else
dbg_printf
(
"0x%x"
,
(
DWORD
)
res
);
return
;
case
'd'
:
...
...
@@ -509,7 +515,7 @@ void print_basic(const struct dbg_lvalue* lvalue, char format)
}
if
(
lvalue
->
type
.
id
==
dbg_itype_segptr
)
{
dbg_print_longlong
(
types_extract_as_longlong
(
lvalue
),
TRUE
);
dbg_print_longlong
(
types_extract_as_longlong
(
lvalue
,
NULL
),
TRUE
);
dbg_printf
(
"
\n
"
);
}
else
print_typed_basic
(
lvalue
);
...
...
programs/winedbg/types.c
View file @
f7f9c08f
...
...
@@ -53,7 +53,7 @@ BOOL types_get_real_type(struct dbg_type* type, DWORD* tag)
* Given a lvalue, try to get an integral (or pointer/address) value
* out of it
*/
LONGLONG
types_extract_as_longlong
(
const
struct
dbg_lvalue
*
lvalue
)
LONGLONG
types_extract_as_longlong
(
const
struct
dbg_lvalue
*
lvalue
,
unsigned
*
psize
)
{
LONGLONG
rtn
;
DWORD
tag
,
bt
;
...
...
@@ -68,6 +68,7 @@ LONGLONG types_extract_as_longlong(const struct dbg_lvalue* lvalue)
return
(
long
int
)
memory_to_linear_addr
(
&
lvalue
->
addr
);
}
if
(
psize
)
*
psize
=
0
;
switch
(
tag
)
{
case
SymTagBaseType
:
...
...
@@ -96,6 +97,7 @@ LONGLONG types_extract_as_longlong(const struct dbg_lvalue* lvalue)
case
btFloat
:
RaiseException
(
DEBUG_STATUS_NOT_AN_INTEGER
,
0
,
0
,
NULL
);
}
if
(
psize
)
*
psize
=
(
unsigned
)
size
;
break
;
case
SymTagPointerType
:
if
(
!
be_cpu
->
fetch_integer
(
lvalue
,
sizeof
(
void
*
),
FALSE
,
&
rtn
))
...
...
@@ -131,7 +133,7 @@ LONGLONG types_extract_as_longlong(const struct dbg_lvalue* lvalue)
*/
long
int
types_extract_as_integer
(
const
struct
dbg_lvalue
*
lvalue
)
{
return
types_extract_as_longlong
(
lvalue
);
return
types_extract_as_longlong
(
lvalue
,
NULL
);
}
/******************************************************************
...
...
@@ -148,7 +150,7 @@ void types_extract_as_address(const struct dbg_lvalue* lvalue, ADDRESS64* addr)
else
{
addr
->
Mode
=
AddrModeFlat
;
addr
->
Offset
=
types_extract_as_longlong
(
lvalue
);
addr
->
Offset
=
types_extract_as_longlong
(
lvalue
,
NULL
);
}
}
...
...
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