Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(138)

Issue 148002: I made some minidump-2-core changes that give us much more complete core file...

Can't Edit
Can't Publish+Mail
Start Review
Created:
14 years, 3 months ago by markus
Modified:
14 years, 3 months ago
CC:
google-breakpad-dev_googlegroups.com
Base URL:
http://google-breakpad.googlecode.com/svn/trunk/
Visibility:
Public.

Description

I made some minidump-2-core changes that give us much more complete core files
from our minidumps.

These changes really only make sense though, once my other change list goes in.
I made changes to breakpad that make it include information about DSOs into the
minidump. This information can then be used by "gdb" to find the appropriate
DSOs and to give us correct backtraces.

Description:
Miscellaneous improvements to minidump-2-core:

 - now builds from gyp.

 - added a "-v" flag to print (almost) all of the information contained in
  the minidump file to stderr.

 - keep track of all mappings including the data that is part of this
  mapping (if any). This allows us to read the entire minidump file
  initially, combine all the different sources of information that we
  have, and come up with a complete picture of what needs to go into the
  core file. Previously, we had a hard time combining partial data from
  different minidump streams.

 - parse all information about memory mappings (including the /proc/$PID/maps
  data) that we get from the minidump. This gives us the most complete
  core file possible.

 - if breakpad recorded the loaded DSOs, update the _DYNAMIC data structure
  in the core file to include this information. The exact details for this
  data structure are described in <link.h>.

 - keep track of signatures for all DSOs. When we then generate the core
  file, include the signature in the filename of the DSO. This allows us
  to analyze user-provided crash dumps, even if the user has system
  libraries that differ from ours.
  We now assume that all of these DSOs are installed in "/var/lib/breakpad/"

 - added parsing of CPU register information for x86-64. Previously, we could
  only parse minidumps generated on i386.

 - detect incorrectly written minidump files (e.g. zero'd out environment and
  corrupted command lines) and don't bother parsing defective streams.

 - detect if the minidump file used the wrong stream identifier for the
  AUXV vector and compensate for this bug.

TEST=convert minidump files, load in gdb, check that we get full backtraces
BUG=none

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats Patch
A src/client/linux/minidump_writer/minidump_extension_linux.h View 1 chunk +74 lines, -0 lines 0 comments Download
M src/tools/linux/md2core/minidump-2-core.cc View 19 chunks +655 lines, -65 lines 0 comments Download

Messages

Total messages: 2
markus
Made the changes that Adam asked for and moved the changelist to the breakpad project. ...
14 years, 3 months ago #1
agl
14 years, 3 months ago #2
Rubber stamp LGTM since I've already reviewed it.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld 1004:630ec63f810e-tainted