This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

reg: GDB's generate-core-file option


Hi there,

I am currently working on a product which has many processes running
in a multi threaded fashion. I run my product on a device which has
200 MB of hard disk space to write the core file. It doesn't have any
swap memory as such. My requirement is that I need to collect the
snapshot of each process at a particular time. So I used
generate-core-file option after attaching each process to GDB. The
problem is that for one process i get the following error.

warning: Failed to write corefile contents (No space left on device).
../../gdb/utils.c:1058: internal-error: virtual memory exhausted:
can't allocate 92123136 bytes.
A problem internal to GDB has been detected,
further debugging may prove unreliable.

I would like to know what could be the reason. I have about 15
processes running. everything except this process i was able to
generate the forced core file.
This is my ulimit -a output,

Linux(debug)# ulimit -a
core file size        (blocks, -c) 73242
data seg size         (kbytes, -d) 62500
file size             (blocks, -f) unlimited
max locked memory     (kbytes, -l) unlimited
max memory size       (kbytes, -m) unlimited
open files                    (-n) 1024
pipe size          (512 bytes, -p) 8
stack size            (kbytes, -s) unlimited
cpu time             (seconds, -t) unlimited
max user processes            (-u) 26624
virtual memory        (kbytes, -v) 125000

If i change the virtual memory size to unlimited i was able to
generate the core. Kindly let me know how exactly the
generate-core-file works.

Regards,
Aarthy.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]