2

i can get all the memory of minidump on the windows platform by using MiniDumpWithFullMemory.but how can i do that on the linux platform?

Thomas Weller
  • 55,411
  • 20
  • 125
  • 222
laughing
  • 21
  • 2

3 Answers3

1

The original question was how to create a compatible gdb coredump using google breakpad on linux. This is actually feasible, follow google instructions to create the minidump and symbol files:

https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/linux_starter_guide.md

and then use this tool to transform the minidump to a coredump: https://chromium.googlesource.com/chromium/src/+/master/docs/linux_minidump_to_core.md

Please notice that generating a coredump from a minidump will not contain the full memory dump, only a "slim" version of it.

galk
  • 61
  • 8
0

The kernel may (on certain conditions) dump a core(5) file. See also this question. You may need to call the setrlimit syscall to enable core dumping, perhaps thru the ulimit bash builtin.

Many things can be queried or configured thru /proc, notably /proc/1234/maps is showing you the address map of process 1234 and /proc/1234/mem gives you access to its address space.

gdb gives often you a gcore command to force a core dump.

Community
  • 1
  • 1
Basile Starynkevitch
  • 223,805
  • 18
  • 296
  • 547
  • thanks,my code must to be cross platform,so i choose google breakpad.so i want to how if breakpad can dump a fullmemory minidump on linux? – laughing Aug 21 '12 at 08:10
0

Breakpad does not currently support writing full-memory dumps on Linux. Sorry. If you wanted you could write out full core dumps and use the core2md tool in the Breakpad tree to turn them into minidumps: http://code.google.com/p/google-breakpad/source/browse/trunk/src/tools/linux/core2md/core2md.cc

Ted Mielczarek
  • 3,919
  • 26
  • 32