75

Is it possible to get gdb or use some other tools to create a core dump of a running process and it's symbol table? It would be great if there's a way to do this without terminating the process.

If this is possible, what commands would you use? (I'm trying to do this on a Linux box)

ks1322
  • 33,961
  • 14
  • 109
  • 164
readonly
  • 343,444
  • 107
  • 203
  • 205

3 Answers3

87

Or run gcore $(pidof processname).

This has the benefit (over running gdb and issuing commands to the CLI) that you attach and detach in the shortest possible time.

iblue
  • 29,609
  • 19
  • 89
  • 128
Alex Zeffertt
  • 1,462
  • 11
  • 12
85
$ gdb --pid=26426
(gdb) gcore
Saved corefile core.26426
(gdb) detach
Assaf Lavie
  • 73,079
  • 34
  • 148
  • 203
DustinB
  • 11,037
  • 5
  • 46
  • 54
  • 11
    You don't need to set ulimit -c unlimited as gdb doesn't respect it (gdb should always give you the entire core file). You can also do this using the command `gcore pid` from the cli without running gdb. – psanford Jun 13 '12 at 21:21
1

You can used generate-core-file command in gdb to generate core dump of running process.

dev
  • 649
  • 9
  • 11