Re: mmap'ed memory in core files ?

Michael Kerrisk
2008-07-01T18:16:22Z

On 7/1/08, Philippe De Muyter <phdm@macqel.be> wrote:
> Hello everybody,
>
> I develop video acquisition software using the video1394 interface.
> The images grabbed by the camera and iee1394 bus are kept in kernel
> memory and made available to the user program through a mmap call done
> in the libdc1394 library :
>
> dma_ring_buffer= mmap(0, vmmap.nb_buffers * vmmap.buf_size,
> PROT_READ|PROT_WRITE,MAP_SHARED, craw->capture.dma_fd, 0);
>
> Sometimes, my program crashes and produces a core file :) It seems to
> me that the core file does not contain the mmap'ed memory and hence
> I cannot replay my program with the same image for debugging purpose.
>
> Is it possible to configure the kernel through /proc, or through the mmap
> system call to have that mmapped segment in the core file, or do I need
> to modify the kernel itself to obtain the behaviour I want ? If I
> need to modify the kernel, can some kind soul provide me some pointers ?

Have a look at the section "Controlling which mappings are written to
the core dump" in a recent core.5 man page:
http://www.kernel.org/doc/man-pages/online/pages/man5/core.5.html

Cheers,

Michael