¿Puedo configurar lo que entra en un volcado de núcleo en Linux? Quiero obtener algo así como los mini-volcados de Windows (información mínima sobre el marco de la pila cuando la aplicación se colgó). Sé que puede establecer un tamaño máximo para los archivos del núcleo usando ulimit
, pero esto no me permite controlar lo que va dentro del núcleo (es decir, no hay garantía de que si establezco el límite en 64 kb, se descargarán las últimas 16 páginas de la pila, por ejemplo).Volcado de núcleo mínimo (seguimiento de pila + marco actual solamente)
Además, me gustaría configurarlo de forma programática (desde el código), si es posible. He visto el archivo /proc/PID/coredump_filter
mencionado por man core
, pero parece demasiado grueso para mis propósitos.
Para proporcionar un pequeño contexto: necesito pequeños archivos de núcleo, por varias razones: necesito recopilarlos en la red, para numerosos (miles) de clientes; Además, estos son dispositivos integrados con pequeñas tarjetas SD y módems GPRS para la conexión de red. Entonces, cualquier cosa superior a ~ 200k está fuera de dudas.
EDITAR: Estoy trabajando en un dispositivo incrustado que ejecuta Linux 2.6.24. El procesador es PowerPC. Por desgracia, PowerPC-Linux es no soportados en Breakpad en este momento, por lo que Google Breakpad no es una opción
No tengo idea, y la respuesta yace probablemente dentro del código fuente del kernel (porque no hay especificaciones relacionadas con eso). ¿Por qué preguntas? Con los discos actuales, un límite de volcado de núcleo de 64Mb es aún pequeño, y muy probablemente contenga suficiente información. ¿Por qué necesita establecer el límite a un valor tan pequeño como 64 kb? ? –
Google Breakpad escribe minivolcados en todas las plataformas, incluido Linux. –
Pregunto porque estoy usando un dispositivo incrustado, que tiene un pequeño disco flash y especialmente una conexión lenta de gprs para descargar datos ... ¡Quiero que sea lo más pequeño posible! –