Stack only core dumps


 
Thread Tools Search this Thread
Top Forums Programming Stack only core dumps
# 1  
Old 11-11-2010
Stack only core dumps

I'm working on a program in Linux with a group of people scattered around the country. When we have a crash, I like to send a core dump to the appropriate person so that they can understand the problem better. The problem is that our application uses several gigabytes worth of data and these core dumps are very large. Sending these core dumps is getting difficult.

From my experience, all I really need from a core dump is the stack. I'll look at the back trace in gdb, and maybe inspect some local variables. Is there a way to tell Linux only to dump the stack rather than all memory?

I've tried using "ulimit -c" to change the upper limit on the size of the core dump but there doesn't seem to be any guarantee that this will include the stack. In my case, these truncated core dumps don't produce a backtrace in gdb.

Another thought that I had is that there may be a utility out there that will extract the stack from the core dump and produce a second, smaller core dump. I've been searching for a while and I can't find anything. Does anyone have any suggestions?

Thanks!
# 2  
Old 11-11-2010
Hi,
a fast script solution (but not necessarily fast to run) is to search for some key string where the stack starts or ends? If You can specify such a string, is it data from the the top of the file until some string occurs that You want, or data from that string until the end of file, or data between two known strings?

Best regards,
Lakris
# 3  
Old 11-11-2010
Two ideas:
- you strip the core just to get the stack. Might perhaps be done with gdb
- you program your own stack dump, see Glibc backtrace()

Cheers,
Loïc
# 4  
Old 11-12-2010
Loic Domaigne,

If I could use gdb to strip the core file, that would be wonderful but I don't see anyway to do that.

Your idea about the backtrace() function might be the closest thing to what I am trying to do. Unfortunately that won't allow me to use GDB to inspect local variables.

I've seen the stack only dump functionality in QNX (dumper -m). I'm suprised such a feature isn't available for Linux.
# 5  
Old 11-12-2010
I don't know if that could help:
Quote:
gdb <exe name> <core file> --batch --quiet -ex "thread apply all bt full" -ex "quit"
Cheers,
Loïc
This User Gave Thanks to Loic Domaigne For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. HP-UX

Generate core dumps

kill -SEGV <pid> gives me the core file for that process but also terminates the process. Can I not get the core dump without terminating the process ? (2 Replies)
Discussion started by: mohtashims
2 Replies

2. Red Hat

generating core dumps

Hi I have a Fedora installed and I try to generate my application's core dump file. My system has no coredump limit: $ ulimit core file size (blocks, -c) unlimited But when my application crashes no core dumps generated. I can generate dump file using gcore but it is not appropraite... (1 Reply)
Discussion started by: xyzt
1 Replies

3. Ubuntu

enabling core dumps for daemon processes

Hello, I am debugging a program which works as daemon. It sigfaults, unfortunately I'm unable to generate core dump file. Here is what I am doing: tsurko@bastila:~$ ulimit -c unlimited tsurko@bastila:~$ ulimit -c unlimited tsurko@bastila:~$ cat /etc/sysctl.conf | grep 'core_pattern'... (1 Reply)
Discussion started by: tsurko
1 Replies

4. Solaris

core dumps

i had a situation where a process was defunct. preap would not reap the process and gcore would not work properly (not sure why). therefore, the suggestion was to force a panic and collect the core dump. obviously you could do a savecore -L and capture the dump without bringing down the system.... (3 Replies)
Discussion started by: pupp
3 Replies

5. Programming

AIX core dumps

My program is not dumping core when hitting a segmentation violation inside a thread. However, it dumps core when the segv occurs within main. Any ideas on how to diagnose this? AIX 5.3 (4 Replies)
Discussion started by: bean66
4 Replies

6. UNIX for Advanced & Expert Users

Using GDB to analyse different CORE dumps

Hi, Can we modify the GDB source code so as to analyze core dumps from different targets? From my analysis, I think we need to build our section table statically for each target. i.e., including the various address boundaries in build_section_table() function. If this is the case, then the GDB... (2 Replies)
Discussion started by: nsdeeps
2 Replies

7. SCO

SCO 5.07 Panic / Core Dumps

Anyone know how you go about interrogating a panic / core dump with crash for SCO Unix (5 Replies)
Discussion started by: ccarcher
5 Replies

8. Programming

strcmp core dumps

hi everyone, Right now when I do: strcmp(s1, s2); i get a core dump because at times s1 or s2 can be nothing so that makes strcmp() core dump. What is the solution, if at times I expect one of them (or both) to be NULL? I want to be able to compare that s1 is NULL and s2 is "blah" or... (6 Replies)
Discussion started by: annie
6 Replies

9. Solaris

Generating core dumps

I have the following set up on a Sun server running solaris 5.8 for core dump generation coreadm global core file pattern: /var/core init core file pattern: /var/core global core dumps: enabled per-process core dumps: enabled global setid core dumps:... (4 Replies)
Discussion started by: handak9
4 Replies

10. UNIX for Advanced & Expert Users

reading core dumps

Does anyone know how to read core dumps. Is gdb the only tool for it ? The OS is Solaris. Thanks (2 Replies)
Discussion started by: suntan
2 Replies
Login or Register to Ask a Question