aboutsummaryrefslogtreecommitdiff
path: root/src/tools/windows/dump_syms
diff options
context:
space:
mode:
authormmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e>2006-09-08 18:03:56 +0000
committermmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e>2006-09-08 18:03:56 +0000
commitcb9fd5b773b25473770b5ddda53b0a2e9f4c7703 (patch)
tree63dfc29a69f9528034335a9ac7407fe5d4e59865 /src/tools/windows/dump_syms
parentChange interface for providing files to Minidump (#19). r=bryner (diff)
downloadbreakpad-cb9fd5b773b25473770b5ddda53b0a2e9f4c7703.tar.xz
Make SourceLineResolver use RangeMap (#13). r=bryner
- Eliminate MemAddrMap from source_line_resolver.cc and adapt it to use RangeMap, also used by minidump.cc. - RangeMap operates on both a base address and a size, where MemAddrMap only used a base address, so the dumped symbol file format is modified to include size information. dump_syms produces these files and SourceLineResolver consumes them. - Provide updated test data conforming to the new dumped symbol format. http://groups.google.com/group/airbag-dev/browse_thread/thread/e9403cf3ad6336a1 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@21 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/tools/windows/dump_syms')
-rw-r--r--src/tools/windows/dump_syms/dump_syms.cc2
-rw-r--r--src/tools/windows/dump_syms/pdb_source_line_writer.cc10
-rwxr-xr-xsrc/tools/windows/dump_syms/testdata/dump_syms_regtest.out702
3 files changed, 360 insertions, 354 deletions
diff --git a/src/tools/windows/dump_syms/dump_syms.cc b/src/tools/windows/dump_syms/dump_syms.cc
index 314e3ae4..c0fe3483 100644
--- a/src/tools/windows/dump_syms/dump_syms.cc
+++ b/src/tools/windows/dump_syms/dump_syms.cc
@@ -23,7 +23,7 @@ using std::wstring;
int main(int argc, char **argv) {
if (argc < 2) {
- fprintf(stderr, "Usage: %s <pdb file>", argv[0]);
+ fprintf(stderr, "Usage: %s <pdb file>\n", argv[0]);
return 1;
}
diff --git a/src/tools/windows/dump_syms/pdb_source_line_writer.cc b/src/tools/windows/dump_syms/pdb_source_line_writer.cc
index 61c22514..0d1f96ea 100644
--- a/src/tools/windows/dump_syms/pdb_source_line_writer.cc
+++ b/src/tools/windows/dump_syms/pdb_source_line_writer.cc
@@ -65,6 +65,12 @@ bool PDBSourceLineWriter::PrintLines(IDiaEnumLineNumbers *lines) {
return false;
}
+ DWORD length;
+ if (FAILED(line->get_length(&length))) {
+ fprintf(stderr, "failed to get line code length\n");
+ return false;
+ }
+
DWORD source_id;
if (FAILED(line->get_sourceFileId(&source_id))) {
fprintf(stderr, "failed to get line source file id\n");
@@ -77,7 +83,7 @@ bool PDBSourceLineWriter::PrintLines(IDiaEnumLineNumbers *lines) {
return false;
}
- fprintf(output_, "%x %d %d\n", rva, line_num, source_id);
+ fprintf(output_, "%x %x %d %d\n", rva, length, line_num, source_id);
line.Release();
}
return true;
@@ -113,7 +119,7 @@ bool PDBSourceLineWriter::PrintFunction(IDiaSymbol *function) {
return false;
}
- fwprintf(output_, L"FUNC %x %s\n", rva, name);
+ fwprintf(output_, L"FUNC %x %llx %s\n", rva, length, name);
if (!PrintLines(lines)) {
return false;
}
diff --git a/src/tools/windows/dump_syms/testdata/dump_syms_regtest.out b/src/tools/windows/dump_syms/testdata/dump_syms_regtest.out
index fc85d0ec..8ca9d3dc 100755
--- a/src/tools/windows/dump_syms/testdata/dump_syms_regtest.out
+++ b/src/tools/windows/dump_syms/testdata/dump_syms_regtest.out
@@ -1179,354 +1179,354 @@ FILE 1178 f:\rtm\public\sdk\inc\ddbanned.h
FILE 1179 f:\rtm\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h
FILE 1180 f:\rtm\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h
FILE 1181 f:\rtm\public\sdk\inc\tvout.h
-FUNC 1000 main
-1000 24 172
-1039 25 172
-104a 26 172
-1065 27 172
-106f 31 172
-1092 32 172
-109b 33 172
-109d 36 172
-10a6 37 172
-10ed 38 172
-1105 39 172
-1120 42 172
-1139 43 172
-1140 44 172
-1142 47 172
-114b 48 172
-1161 49 172
-FUNC 1190 ATL::CComBSTR::~CComBSTR
-1190 1351 28
-1190 1352 28
-1199 1353 28
-FUNC 11a0 ATL::CComPtr<IDiaEnumSymbolsByAddr>::~CComPtr<IDiaEnumSymbolsByAddr>
-11a0 25 26
-11a0 26 26
-FUNC 11b0 airbag::PDBSourceLineWriter::Close
-11b0 212 26
-11b0 213 26
-11c4 214 26
-FUNC 11d0 airbag::PDBSourceLineWriter::PDBSourceLineWriter
-11d0 22 26
-11df 23 26
-FUNC 11e0 airbag::PDBSourceLineWriter::Open
-11e0 28 26
-1204 29 26
-1218 31 26
-1224 32 26
-123c 33 26
-123e 53 26
-1251 36 26
-1259 37 26
-127e 39 26
-1293 40 26
-12b0 53 26
-12c3 43 26
-12e6 44 26
-12eb 45 26
-12ed 48 26
-12fe 49 26
-1316 52 26
-1330 53 26
-FUNC 1350 airbag::PDBSourceLineWriter::PrintLines
-1350 55 26
-1379 58 26
-137f 61 26
-13bb 63 26
-13d4 69 26
-13ed 75 26
-1406 80 26
-1420 81 26
-1454 83 26
-146e 84 26
-1484 64 26
-1495 65 26
-14b4 70 26
-14c5 71 26
-14e4 76 26
-14e9 77 26
-FUNC 14f0 airbag::PDBSourceLineWriter::PrintFunction
-14f0 86 26
-1518 89 26
-151e 90 26
-1537 91 26
-154f 113 26
-1554 92 26
-155c 121 26
-1571 94 26
-1580 95 26
-1595 96 26
-15a5 121 26
-15ba 100 26
-15cb 101 26
-15d0 102 26
-15d5 106 26
-15e6 107 26
-15fb 108 26
-1608 111 26
-160c 112 26
-162e 113 26
-164b 116 26
-1664 117 26
-1675 118 26
-1695 120 26
-16ae 121 26
-FUNC 16d0 airbag::PDBSourceLineWriter::PrintSourceFiles
-16d0 123 26
-16f9 124 26
-16ff 125 26
-1716 126 26
-172e 134 26
-1746 127 26
-1748 162 26
-175c 130 26
-1760 132 26
-1781 133 26
-1799 142 26
-17b2 137 26
-17b6 139 26
-17fb 140 26
-17ff 141 26
-1822 144 26
-1826 145 26
-185b 147 26
-1874 151 26
-1878 152 26
-1896 156 26
-18ab 157 26
-18c2 158 26
-18ee 159 26
-1902 160 26
-194c 161 26
-198f 162 26
-19a3 142 26
-19d6 148 26
-19ed 153 26
-FUNC 1a00 airbag::PDBSourceLineWriter::PrintFunctions
-1a00 164 26
-1a27 165 26
-1a2d 166 26
-1a44 167 26
-1a5c 174 26
-1a74 168 26
-1a76 199 26
-1a88 171 26
-1a8c 172 26
-1aa9 173 26
-1ac1 174 26
-1ad7 178 26
-1af0 179 26
-1af5 180 26
-1b00 186 26
-1b19 190 26
-1b20 191 26
-1b30 195 26
-1b44 196 26
-1b67 198 26
-1b95 199 26
-1ba7 187 26
-1bac 188 26
-FUNC 1bc0 airbag::PDBSourceLineWriter::WriteMap
-1bc0 201 26
-1bc0 203 26
-1bcd 204 26
-1bdf 208 26
-1be8 210 26
-1beb 208 26
-1bef 209 26
-1bf2 210 26
-FUNC 1c02 __security_check_cookie
-1c02 52 1111
-1c02 55 1111
-1c08 56 1111
-1c0a 57 1111
-1c0c 59 1111
-FUNC 1c11 pre_cpp_init
-1c11 310 576
-1c11 312 576
-1c1b 322 576
-1c20 330 576
-1c4a 334 576
-1c53 335 576
-1c5b 337 576
-FUNC 1c5c __tmainCRTStartup
-1c5c 410 576
-1c68 433 576
-1c6d 458 576
-1c76 459 576
-1c7e 460 576
-1c8b 462 576
-1c8f 464 576
-1c95 465 576
-1c97 472 576
-1ca2 473 576
-1ca7 475 576
-1cb0 477 576
-1cba 479 576
-1cc3 481 576
-1cc9 483 576
-1cde 485 576
-1cef 493 576
-1cf5 499 576
-1cfe 501 576
-1d0f 502 576
-1d19 505 576
-1d1e 510 576
-1d26 521 576
-1d3d 523 576
-1d47 585 576
-1d54 586 576
-1d73 596 576
-1d7b 597 576
-1d82 603 576
-1d99 609 576
-1da1 616 576
-1dab 617 576
-1db2 619 576
-1dba 620 576
-1dc0 621 576
-1dc7 623 576
-1dcc 624 576
-FUNC 1dd2 pre_c_init
-1dd2 221 576
-1dd2 225 576
-1e32 233 576
-1e3f 241 576
-1e53 246 576
-1e61 247 576
-1e6f 254 576
-1e7b 261 576
-1e80 272 576
-1e85 279 576
-1e8e 280 576
-1e9a 283 576
-1e9f 287 576
-1ea8 289 576
-1eb1 292 576
-1eb3 293 576
-FUNC 1eb4 mainCRTStartup
-1eb4 393 576
-1eb4 400 576
-1eb9 402 576
-FUNC 1ebe __report_gsfailure
-1ebe 140 730
-1ec7 170 730
-1ecc 171 730
-1ed2 172 730
-1ed8 173 730
-1ede 174 730
-1ee4 175 730
-1eea 176 730
-1ef1 177 730
-1ef8 178 730
-1eff 179 730
-1f06 180 730
-1f0d 181 730
-1f14 182 730
-1f15 183 730
-1f1b 190 730
-1f1e 191 730
-1f23 192 730
-1f26 193 730
-1f2b 194 730
-1f2e 195 730
-1f33 201 730
-1f39 204 730
-1f43 206 730
-1f4d 285 730
-1f57 286 730
-1f61 293 730
-1f6c 294 730
-1f77 297 730
-1f82 298 730
-1f8a 302 730
-1f92 304 730
-1f9d 313 730
-1fa6 315 730
-1fae 319 730
-1fc0 320 730
-FUNC 1fc8 _onexit
-1fc8 79 481
-1fd4 84 481
-1fe6 86 481
-1feb 90 481
-1ff7 103 481
-1fff 105 481
-2003 107 481
-200e 108 481
-2019 110 481
-202c 112 481
-203c 113 481
-2049 115 481
-2055 120 481
-2058 121 481
-205e 117 481
-FUNC 2067 atexit
-2067 126 481
-2067 127 481
-2078 128 481
-FUNC 2079 _RTC_Initialize
-FUNC 209d _RTC_Terminate
-FUNC 20d0 _ValidateImageBase
-20d0 44 893
-20d0 50 893
-20db 52 893
-20dd 68 893
-20de 55 893
-20e3 56 893
-20e9 58 893
-20eb 62 893
-20f8 68 893
-FUNC 2100 _FindPESection
-2100 92 893
-2100 99 893
-2109 108 893
-2122 111 893
-2132 108 893
-213c 123 893
-2141 124 893
-FUNC 2142 _IsNonwritableInCurrentImage
-2142 152 893
-214e 159 893
-2152 167 893
-2160 169 893
-2162 177 893
-2167 178 893
-2170 179 893
-2172 181 893
-2174 188 893
-2188 190 893
-219f 196 893
-21a8 198 893
-FUNC 21bc __SEH_prolog4
-FUNC 2201 __SEH_epilog4
-FUNC 2215 _except_handler4
-FUNC 2238 _setdefaultprecision
-2238 30 1040
-2239 31 1040
-2260 32 1040
-FUNC 2261 _setargv
-2261 56 616
-2261 57 616
-2263 58 616
-FUNC 2264 __security_init_cookie
-2264 97 770
-226a 117 770
-228b 119 770
-2292 120 770
-2295 170 770
-229f 175 770
-22a5 178 770
-22ad 179 770
-22b5 180 770
-22bd 182 770
-22cd 187 770
-22cf 204 770
-22d3 206 770
-22da 209 770
-22de 211 770
-22e5 215 770
-22eb 216 770
-22f6 218 770
+FUNC 1000 187 main
+1000 39 24 172
+1039 11 25 172
+104a 1b 26 172
+1065 a 27 172
+106f 23 31 172
+1092 9 32 172
+109b 2 33 172
+109d 9 36 172
+10a6 47 37 172
+10ed 18 38 172
+1105 1b 39 172
+1120 19 42 172
+1139 7 43 172
+1140 2 44 172
+1142 9 47 172
+114b 16 48 172
+1161 26 49 172
+FUNC 1190 a ATL::CComBSTR::~CComBSTR
+1190 0 1351 28
+1190 9 1352 28
+1199 1 1353 28
+FUNC 11a0 f ATL::CComPtr<IDiaEnumSymbolsByAddr>::~CComPtr<IDiaEnumSymbolsByAddr>
+11a0 0 25 26
+11a0 f 26 26
+FUNC 11b0 15 airbag::PDBSourceLineWriter::Close
+11b0 0 212 26
+11b0 14 213 26
+11c4 1 214 26
+FUNC 11d0 10 airbag::PDBSourceLineWriter::PDBSourceLineWriter
+11d0 f 22 26
+11df 1 23 26
+FUNC 11e0 163 airbag::PDBSourceLineWriter::Open
+11e0 24 28 26
+1204 14 29 26
+1218 c 31 26
+1224 18 32 26
+123c 2 33 26
+123e 13 53 26
+1251 8 36 26
+1259 25 37 26
+127e 15 39 26
+1293 1d 40 26
+12b0 13 53 26
+12c3 23 43 26
+12e6 5 44 26
+12eb 2 45 26
+12ed 11 48 26
+12fe 18 49 26
+1316 1a 52 26
+1330 13 53 26
+FUNC 1350 19b airbag::PDBSourceLineWriter::PrintLines
+1350 29 55 26
+1379 6 58 26
+137f 3c 61 26
+13bb 19 63 26
+13d4 19 69 26
+13ed 19 75 26
+1406 1a 80 26
+1420 34 81 26
+1454 1a 83 26
+146e 16 84 26
+1484 11 64 26
+1495 1f 65 26
+14b4 11 70 26
+14c5 1f 71 26
+14e4 5 76 26
+14e9 2 77 26
+FUNC 14f0 1d3 airbag::PDBSourceLineWriter::PrintFunction
+14f0 28 86 26
+1518 6 89 26
+151e 19 90 26
+1537 18 91 26
+154f 5 113 26
+1554 8 92 26
+155c 15 121 26
+1571 f 94 26
+1580 15 95 26
+1595 10 96 26
+15a5 15 121 26
+15ba 11 100 26
+15cb 5 101 26
+15d0 5 102 26
+15d5 11 106 26
+15e6 15 107 26
+15fb d 108 26
+1608 4 111 26
+160c 22 112 26
+162e 1d 113 26
+164b 19 116 26
+1664 11 117 26
+1675 20 118 26
+1695 19 120 26
+16ae 15 121 26
+FUNC 16d0 326 airbag::PDBSourceLineWriter::PrintSourceFiles
+16d0 29 123 26
+16f9 6 124 26
+16ff 17 125 26
+1716 18 126 26
+172e 18 134 26
+1746 2 127 26
+1748 14 162 26
+175c 4 130 26
+1760 21 132 26
+1781 18 133 26
+1799 19 142 26
+17b2 4 137 26
+17b6 45 139 26
+17fb 4 140 26
+17ff 23 141 26
+1822 4 144 26
+1826 35 145 26
+185b 19 147 26
+1874 4 151 26
+1878 1e 152 26
+1896 15 156 26
+18ab 17 157 26
+18c2 2c 158 26
+18ee 14 159 26
+1902 4a 160 26
+194c 43 161 26
+198f 14 162 26
+19a3 33 142 26
+19d6 17 148 26
+19ed 9 153 26
+FUNC 1a00 1b1 airbag::PDBSourceLineWriter::PrintFunctions
+1a00 27 164 26
+1a27 6 165 26
+1a2d 17 166 26
+1a44 18 167 26
+1a5c 18 174 26
+1a74 2 168 26
+1a76 12 199 26
+1a88 4 171 26
+1a8c 1d 172 26
+1aa9 18 173 26
+1ac1 16 174 26
+1ad7 19 178 26
+1af0 5 179 26
+1af5 b 180 26
+1b00 19 186 26
+1b19 7 190 26
+1b20 10 191 26
+1b30 14 195 26
+1b44 23 196 26
+1b67 2e 198 26
+1b95 12 199 26
+1ba7 5 187 26
+1bac 5 188 26
+FUNC 1bc0 35 airbag::PDBSourceLineWriter::WriteMap
+1bc0 0 201 26
+1bc0 d 203 26
+1bcd 12 204 26
+1bdf 9 208 26
+1be8 3 210 26
+1beb 4 208 26
+1bef 3 209 26
+1bf2 3 210 26
+FUNC 1c02 f __security_check_cookie
+1c02 0 52 1111
+1c02 6 55 1111
+1c08 2 56 1111
+1c0a 2 57 1111
+1c0c 5 59 1111
+FUNC 1c11 4b pre_cpp_init
+1c11 0 310 576
+1c11 a 312 576
+1c1b 5 322 576
+1c20 2a 330 576
+1c4a 9 334 576
+1c53 8 335 576
+1c5b 1 337 576
+FUNC 1c5c 176 __tmainCRTStartup
+1c5c c 410 576
+1c68 5 433 576
+1c6d 9 458 576
+1c76 8 459 576
+1c7e d 460 576
+1c8b 4 462 576
+1c8f 6 464 576
+1c95 2 465 576
+1c97 b 472 576
+1ca2 5 473 576
+1ca7 9 475 576
+1cb0 a 477 576
+1cba 9 479 576
+1cc3 6 481 576
+1cc9 15 483 576
+1cde 11 485 576
+1cef 6 493 576
+1cf5 9 499 576
+1cfe 11 501 576
+1d0f a 502 576
+1d19 5 505 576
+1d1e 8 510 576
+1d26 17 521 576
+1d3d a 523 576
+1d47 d 585 576
+1d54 1f 586 576
+1d73 8 596 576
+1d7b 7 597 576
+1d82 17 603 576
+1d99 8 609 576
+1da1 a 616 576
+1dab 7 617 576
+1db2 8 619 576
+1dba 6 620 576
+1dc0 7 621 576
+1dc7 5 623 576
+1dcc 6 624 576
+FUNC 1dd2 e2 pre_c_init
+1dd2 0 221 576
+1dd2 60 225 576
+1e32 d 233 576
+1e3f 14 241 576
+1e53 e 246 576
+1e61 e 247 576
+1e6f c 254 576
+1e7b 5 261 576
+1e80 5 272 576
+1e85 9 279 576
+1e8e c 280 576
+1e9a 5 283 576
+1e9f 9 287 576
+1ea8 9 289 576
+1eb1 2 292 576
+1eb3 1 293 576
+FUNC 1eb4 a mainCRTStartup
+1eb4 0 393 576
+1eb4 5 400 576
+1eb9 5 402 576
+FUNC 1ebe 104 __report_gsfailure
+1ebe 9 140 730
+1ec7 5 170 730
+1ecc 6 171 730
+1ed2 6 172 730
+1ed8 6 173 730
+1ede 6 174 730
+1ee4 6 175 730
+1eea 7 176 730
+1ef1 7 177 730
+1ef8 7 178 730
+1eff 7 179 730
+1f06 7 180 730
+1f0d 7 181 730
+1f14 1 182 730
+1f15 6 183 730
+1f1b 3 190 730
+1f1e 5 191 730
+1f23 3 192 730
+1f26 5 193 730
+1f2b 3 194 730
+1f2e 5 195 730
+1f33 6 201 730
+1f39 a 204 730
+1f43 a 206 730
+1f4d a 285 730
+1f57 a 286 730
+1f61 b 293 730
+1f6c b 294 730
+1f77 b 297 730
+1f82 8 298 730
+1f8a 8 302 730
+1f92 b 304 730
+1f9d 9 313 730
+1fa6 8 315 730
+1fae 12 319 730
+1fc0 2 320 730
+FUNC 1fc8 9f _onexit
+1fc8 c 79 481
+1fd4 12 84 481
+1fe6 5 86 481
+1feb c 90 481
+1ff7 8 103 481
+1fff 4 105 481
+2003 b 107 481
+200e b 108 481
+2019 13 110 481
+202c 10 112 481
+203c d 113 481
+2049 c 115 481
+2055 3 120 481
+2058 6 121 481
+205e 9 117 481
+FUNC 2067 12 atexit
+2067 0 126 481
+2067 11 127 481
+2078 1 128 481
+FUNC 2079 24 _RTC_Initialize
+FUNC 209d 24 _RTC_Terminate
+FUNC 20d0 29 _ValidateImageBase
+20d0 0 44 893
+20d0 b 50 893
+20db 2 52 893
+20dd 1 68 893
+20de 5 55 893
+20e3 6 56 893
+20e9 2 58 893
+20eb d 62 893
+20f8 1 68 893
+FUNC 2100 42 _FindPESection
+2100 0 92 893
+2100 9 99 893
+2109 19 108 893
+2122 10 111 893
+2132 a 108 893
+213c 5 123 893
+2141 1 124 893
+FUNC 2142 6c _IsNonwritableInCurrentImage
+2142 c 152 893
+214e 4 159 893
+2152 e 167 893
+2160 2 169 893
+2162 5 177 893
+2167 9 178 893
+2170 2 179 893
+2172 2 181 893
+2174 14 188 893
+2188 17 190 893
+219f 9 196 893
+21a8 6 198 893
+FUNC 21bc 45 __SEH_prolog4
+FUNC 2201 14 __SEH_epilog4
+FUNC 2215 23 _except_handler4
+FUNC 2238 29 _setdefaultprecision
+2238 1 30 1040
+2239 27 31 1040
+2260 1 32 1040
+FUNC 2261 3 _setargv
+2261 0 56 616
+2261 2 57 616
+2263 1 58 616
+FUNC 2264 94 __security_init_cookie
+2264 6 97 770
+226a 21 117 770
+228b 7 119 770
+2292 3 120 770
+2295 a 170 770
+229f 6 175 770
+22a5 8 178 770
+22ad 8 179 770
+22b5 8 180 770
+22bd 10 182 770
+22cd 2 187 770
+22cf 4 204 770
+22d3 7 206 770
+22da 4 209 770
+22de 7 211 770
+22e5 6 215 770
+22eb b 216 770
+22f6 2 218 770