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
bacca342
Commit
bacca342
authored
Nov 29, 2006
by
Eric Pouech
Committed by
Alexandre Julliard
Nov 30, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winedump: Added support for dumping types from PDB, CV... files.
parent
64f7c685
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
51 additions
and
19 deletions
+51
-19
Makefile.in
tools/winedump/Makefile.in
+1
-0
msc.c
tools/winedump/msc.c
+0
-0
pdb.c
tools/winedump/pdb.c
+48
-19
winedump.h
tools/winedump/winedump.h
+2
-0
No files found.
tools/winedump/Makefile.in
View file @
bacca342
...
...
@@ -18,6 +18,7 @@ C_SRCS = \
main.c
\
minidump.c
\
misc.c
\
msc.c
\
msmangle.c
\
ne.c
\
output.c
\
...
...
tools/winedump/msc.c
0 → 100644
View file @
bacca342
This diff is collapsed.
Click to expand it.
tools/winedump/pdb.c
View file @
bacca342
...
...
@@ -286,12 +286,12 @@ static void pdb_dump_symbols(struct pdb_reader* reader)
/* Read global symbol table */
modimage
=
reader
->
read_file
(
reader
,
symbols
->
gsym_file
);
/* EPP if (modimage) */
/* EPP { */
/* EPP printf("\t------------globals-------------\n"); */
/* EPP codeview_dump_symbols(modimage, pdb_get_file_size(reader, symbols->gsym_file)); */
/* EPP free((char*)modimage); */
/* EPP } */
if
(
modimage
)
{
printf
(
"
\t
------------globals-------------
\n
"
);
codeview_dump_symbols
(
modimage
,
pdb_get_file_size
(
reader
,
symbols
->
gsym_file
));
free
((
char
*
)
modimage
);
}
/* Read per-module symbol / linenumber tables */
file
=
(
const
char
*
)
symbols
+
sizeof
(
PDB_SYMBOLS
);
...
...
@@ -307,7 +307,39 @@ static void pdb_dump_symbols(struct pdb_reader* reader)
file_name
=
sym_file
->
filename
;
symbol_size
=
sym_file
->
symbol_size
;
lineno_size
=
sym_file
->
lineno_size
;
printf
(
"
\t
got symbol_file %s (SIMPLE)
\n
"
,
file_name
);
printf
(
"
\t
--------symbol file----------- %s
\n
"
,
file_name
);
printf
(
"
\t
got symbol_file
\n
"
"
\t\t
unknown1: %08x
\n
"
"
\t\t
range
\n
"
"
\t\t\t
segment: %04x
\n
"
"
\t\t\t
pad1: %04x
\n
"
"
\t\t\t
offset: %08x
\n
"
"
\t\t\t
size: %08x
\n
"
"
\t\t\t
characteristics: %08x
\n
"
"
\t\t\t
index: %04x
\n
"
"
\t\t\t
pad2: %04x
\n
"
"
\t\t
flag: %04x
\n
"
"
\t\t
file: %04x
\n
"
"
\t\t
symb size: %08x
\n
"
"
\t\t
line size: %08x
\n
"
"
\t\t
unknown2: %08x
\n
"
"
\t\t
nSrcFiles: %08x
\n
"
"
\t\t
attribute: %08x
\n
"
,
sym_file
->
unknown1
,
sym_file
->
range
.
segment
,
sym_file
->
range
.
pad1
,
sym_file
->
range
.
offset
,
sym_file
->
range
.
size
,
sym_file
->
range
.
characteristics
,
sym_file
->
range
.
index
,
sym_file
->
range
.
pad2
,
sym_file
->
flag
,
sym_file
->
file
,
sym_file
->
symbol_size
,
sym_file
->
lineno_size
,
sym_file
->
unknown2
,
sym_file
->
nSrcFiles
,
sym_file
->
attribute
);
}
else
{
...
...
@@ -316,8 +348,8 @@ static void pdb_dump_symbols(struct pdb_reader* reader)
file_name
=
sym_file
->
filename
;
symbol_size
=
sym_file
->
symbol_size
;
lineno_size
=
sym_file
->
lineno_size
;
printf
(
"
\t
got symbol_file_ex %s
\n
"
"
\t\t
unknown1: %08x
\n
"
printf
(
"
\t
--------symbol file----------- %s
\n
"
,
file_name
);
printf
(
"
\t\t
unknown1: %08x
\n
"
"
\t\t
range
\n
"
"
\t\t\t
segment: %04x
\n
"
"
\t\t\t
pad1: %04x
\n
"
...
...
@@ -337,7 +369,6 @@ static void pdb_dump_symbols(struct pdb_reader* reader)
"
\t\t
attribute: %08x
\n
"
"
\t\t
reserved/0: %08x
\n
"
"
\t\t
reserved/1: %08x
\n
"
,
sym_file
->
filename
,
sym_file
->
unknown1
,
sym_file
->
range
.
segment
,
sym_file
->
range
.
pad1
,
...
...
@@ -362,15 +393,13 @@ static void pdb_dump_symbols(struct pdb_reader* reader)
if
(
modimage
)
{
int
total_size
=
pdb_get_file_size
(
reader
,
file_nr
);
printf
(
"
\t
------------module-------------
\n
"
);
dump_data
(
modimage
,
total_size
,
""
);
printf
(
"
\t\t
Got module: size:%08x symbol:%08x(%08x) lineno:%08x(%08x)
\n
"
,
total_size
,
symbol_size
,
symbol_size
,
lineno_size
,
symbol_size
+
lineno_size
);
/* what's that ??? */
dump_data
(
modimage
+
symbol_size
+
lineno_size
,
total_size
-
(
symbol_size
+
lineno_size
),
"
\t\t\t
"
);
/* EPP if (symbol_size) */
/* EPP codeview_snarf((const char*)modimage + sizeof(DWORD), symbol_size); */
if
(
symbol_size
)
codeview_dump_symbols
((
const
char
*
)
modimage
+
sizeof
(
DWORD
),
symbol_size
);
/* what's that part ??? */
if
(
0
)
dump_data
(
modimage
+
symbol_size
+
lineno_size
,
total_size
-
(
symbol_size
+
lineno_size
),
"
\t\t\t
"
);
free
((
char
*
)
modimage
);
}
...
...
@@ -429,7 +458,7 @@ static void pdb_dump_types(struct pdb_reader* reader)
types
->
search_len
,
types
->
unknown_offset
,
types
->
unknown_len
);
/* codeview_parse_type_table((const char*)types + types->type_offset, types->type_size); */
codeview_dump_types
((
const
char
*
)
types
+
types
->
type_offset
,
types
->
type_size
);
free
((
char
*
)
types
);
}
...
...
tools/winedump/winedump.h
View file @
bacca342
...
...
@@ -247,6 +247,8 @@ enum FileSig get_kind_emf(void);
void
emf_dump
(
void
);
enum
FileSig
get_kind_pdb
(
void
);
void
pdb_dump
(
void
);
int
codeview_dump_symbols
(
const
void
*
root
,
unsigned
long
size
);
int
codeview_dump_types
(
const
void
*
table
,
unsigned
long
len
);
void
dump_stabs
(
const
void
*
pv_stabs
,
unsigned
szstabs
,
const
char
*
stabstr
,
unsigned
szstr
);
void
dump_codeview
(
unsigned
long
ptr
,
unsigned
long
len
);
...
...
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