Donde está el core.... ?

2009-05-11 Por tema Sever P A
Hola,

Estoy intentando debugear una aplicación en C++. Lo curioso es que no
logro encontrar porqué no me saca el fichero core, una vez peta la
aplicación compilada, obviamente, con el parámetro -g.

$ ulimit
unlimited

$ cat /proc/sys/kernel/core_pattern
core

$ cat /proc/sys/kernel/core_uses_pid
0

alguna idea... ?

S.


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Donde está el core.... ?

2009-05-11 Por tema Eduardo Villanueva Che
El 11 de mayo de 2009 19:02, Sever P A gnu.se...@gmail.com escribió:

 Hola,


Hola,


 Estoy intentando debugear una aplicación en C++. Lo curioso es que no
 logro encontrar porqué no me saca el fichero core, una vez peta la
 aplicación compilada, obviamente, con el parámetro -g.


Eso es irrelevante. Compilando con -g tendrás más información en el core,
pero no es necesario para generarlo.


 $ ulimit
 unlimited


Prueba con:
$ ulimit -a

Y mira si realmente puedes generar cores o no. Si es que no, actívalo con:
$ ulimit -c unlimited

Y vuelve a probar.

El core debería aparecer el el directorio desde el que lanzas el proceso, y
deberás tener permisos de escritura en él.

$ cat /proc/sys/kernel/core_pattern
 core

 $ cat /proc/sys/kernel/core_uses_pid
 0

 alguna idea... ?


Prueba lo que te he dicho.


Un saludo,

 Edu,


Re: Donde está el core.... ?

2009-05-11 Por tema Sever P A
Hola Edu,

 Prueba con:
 $ ulimit -a

 Y mira si realmente puedes generar cores o no. Si es que no, actívalo con:
 $ ulimit -c unlimited

 Y vuelve a probar.

 El core debería aparecer el el directorio desde el que lanzas el proceso, y
 deberás tener permisos de escritura en él.

Creo que de poder, podría generar cores:

$ ulimit -a

core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Pero en el directorio de trabajo, no aparece ninguno cuando la
aplicación peta con un valor de retorno 134... (es por eso que
quiero el parámetro -g ;)):

terminate called after throwing an instance of 'std::bad_alloc'
   what():  std::bad_alloc

Muchas gracias, Edu.

Alguna idea ???

S.


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Donde está el core.... ?

2009-05-11 Por tema Eduardo Villanueva Che
El 11 de mayo de 2009 19:48, Sever P A gnu.se...@gmail.com escribió:

 Hola Edu,


Hola de nuevo,


  Prueba con:
  $ ulimit -a
 
  Y mira si realmente puedes generar cores o no. Si es que no, actívalo
 con:
  $ ulimit -c unlimited
 
  Y vuelve a probar.
 
  El core debería aparecer el el directorio desde el que lanzas el proceso,
 y
  deberás tener permisos de escritura en él.

 Creo que de poder, podría generar cores:

 $ ulimit -a

 core file size  (blocks, -c) unlimited
 data seg size   (kbytes, -d) unlimited
 scheduling priority (-e) 0
 file size   (blocks, -f) unlimited
 pending signals (-i) 16382
 max locked memory   (kbytes, -l) 64
 max memory size (kbytes, -m) unlimited
 open files  (-n) 1024
 pipe size(512 bytes, -p) 8
 POSIX message queues (bytes, -q) 819200
 real-time priority  (-r) 0
 stack size  (kbytes, -s) 8192
 cpu time   (seconds, -t) unlimited
 max user processes  (-u) unlimited
 virtual memory  (kbytes, -v) unlimited
 file locks  (-x) unlimited


Ok.



 Pero en el directorio de trabajo, no aparece ninguno cuando la
 aplicación peta con un valor de retorno 134... (es por eso que
 quiero el parámetro -g ;)):

 terminate called after throwing an instance of 'std::bad_alloc'
what():  std::bad_alloc

 Muchas gracias, Edu.

 Alguna idea ???


¿No estarás usando OCCI en Oracle 11g? Cuando enlazo con esta librería me
deja los cores en:
$HOME/oradiag_$LOGNAME

O tal vez alguna otra que tenga un comportamiento similar.

A parte de esto, no se me ocurre nada más.


Saludos.