gohome1984 / google-breakpad

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

SVR4 light core generation on Linux instead of minidumps. #307

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Guys, this project is great. Many useful ideas can be found in sources.
Generally, correct crash reporting is very important and difficult task,
especially on many platforms. The idea of minidumps of single format for
all platforms is excellent. But implementation of minidump parser on Unix
is just another GDB. (seems to me you know well what DWARF parsing and
stack unwinding on x86-64 are). And for now (without x86-64 support, DWARF
symbols and eh_frame parsing) minidumps implementation is not so great, as
the whole idea is. So, my idea is to generate SVR4 light core files for
Linux, which can be parsed by GDB on i386 and x86-64 platforms without any
parsers. This light core contains only modules info, threads registers and
stacks memory (max 16kb). i.e. you will have light core <= 150kb for 20
threads, which can be easily parsed by any GDB. This solution does not
break minidumps generation, this is just another generator, which can be
safely chosen as param of ExceptionHandler constructor. Also, attached
patch includes my fix for syscall on x86-64 in 32bit mode (issue 299) and
minor compilation fixes.

Original issue reported on code.google.com by r.peni...@gmail.com on 8 Apr 2009 at 9:35

Attachments:

GoogleCodeExporter commented 9 years ago
There's already a minidump-2-core tool in the source tree. Is that not 
sufficient for
you?
http://code.google.com/p/google-breakpad/source/browse/trunk/src/tools/linux/md2
core/minidump-2-core.cc

Original comment by ted.mielczarek on 25 Nov 2009 at 12:13

GoogleCodeExporter commented 9 years ago
I've not watched over this project for some time. Does breakpad have full x86-64
support (arguments must be placed into registers)? It does not matter what tool 
to
have to convert minidumps, the main problem was in stack unwinding for this 
arch.

Original comment by r.peni...@gmail.com on 25 Nov 2009 at 12:37

GoogleCodeExporter commented 9 years ago
There is not yet full x86-64 support. I believe we can write minidumps, but not 
walk
the stack yet. We're still waiting on DWARF CFI support for that. Regardless, I 
don't
expect we'd take this patch.

Original comment by ted.mielczarek on 3 Dec 2009 at 4:23

GoogleCodeExporter commented 9 years ago
We have full x86-64 support now, as well as DWARF. I don't think the Breakpad 
project
is interested in supporting a format other than minidump, since we're able to 
use it
cross-platform. You can use the minidump2core utility if you need core files.

Original comment by ted.mielczarek on 29 Mar 2010 at 5:08