Estoy ejecutando una aplicación incorporada en la placa ARM9, donde el tamaño total del flash es de 180 MB solamente. Soy capaz de ejecutar gdb
, pero cuando lo hagoCómo limitar el tamaño del archivo de volcado del núcleo al generarlo usando GDB
(gdb) generate-core-dump
consigo un error
warning: Memory read failed for corefile section, 1048576 bytes at 0x4156c000.
warning: Memory read failed for corefile section, 1048576 bytes at 0x50c00000.
Saved corefile core.5546
The program is running. Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal]
Tamper Detected
**********OUTSIDE ifelse 0*********
length validation is failed
Asimismo, establecer ulimit -c 50000
pero aún así el vaciado de memoria excede este límite. Cuando hago ls -l
para verificar el tamaño del archivo, es más de 300 MB. En este caso, ¿cómo debo limitar el tamaño del volcado del núcleo?
Estoy ejecutando gdb en el tablero de destino. También puedo usar gdbserver, pero como el bloqueo no es fácilmente reproducible, voy con la primera opción. –
Lo siento, pero no veo cómo ejecutar gdb o gdbserver como algo relacionado con el bloqueo que se puede reproducir fácilmente o no. – shodanex
@shodanex: utilizando el modelo cliente-servidor, el núcleo se puede recopilar en el sistema de archivos "host", no en el sistema integrado, que aquí solo tiene 180 MB de espacio disponible para un archivo central. Presumiblemente, el sistema host tiene una unidad de disco duro completa y puede guardar un archivo de núcleo mucho más grande. – Peter