wangqing09 / google-breakpad

Automatically exported from code.google.com/p/google-breakpad
0 stars 0 forks source link

Teach symbol supplier to locate symbols in absence of CodeView record #389

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
We've seen a few cases (like 
https://bugzilla.mozilla.org/show_bug.cgi?id=575100 ) where entries in the 
module list are missing CodeView records for some reason. This is on Windows, 
so it's just MinidumpWriteDump producing the dump, so I don't think there's 
anything we can do to fix it client-side.

However, a debugger is able to locate the symbols given the original binaries, 
because the code identifier is present, and it can verify that it has the right 
binary files and read the CV record from the binary.

I think we could use a similar technique. If the symbol dumping process were to 
leave a breadcrumb trail in the symbol store, like a simple text file using the 
code identifier and pointing to the debug symbols, the symbol supplier could 
fall back to using this to locate symbols. I was thinking something like
<module name>/<code identifier>/<module name>.path
containing either:
<path to debug symbols> (like module.pdb/<guid>/module.sym )
or:
<debug filename> <debug identifier> (like module.pdb <guid>)

Original issue reported on code.google.com by ted.mielczarek on 1 Jul 2010 at 1:45