Estoy tratando de depurar una segfault en una aplicación en la que estoy trabajando (funciona en Linux, por supuesto, así que no puedo usar eso como mi alternativa para depurar core dumps). De todos modos, he configurado "ulimit -c unlimited" y el leopardo de las nieves informa "Fallo de segmentación (núcleo volcado)", pero lamentablemente no se encuentra ningún archivo central. ¿Snow Leopard los coloca en algún lugar especial o hay alguna otra opción que necesito habilitar? Sorprendentemente poco regresó cuando googleé esto ...¿Snow Leopard pone vertederos en algún lugar especial?
Respuesta
Necesita configurar launchd
para que realmente escriba los volcados del núcleo. Puede encontrar las instrucciones para hacerlo en este Apple TechNote.
Básicamente, necesita habilitar los volcados de memoria mediante la adición de la línea:
limit core unlimited
a su archivo /etc/launchd.conf
, creando si es necesario, y luego volver a arrancar.
También puede habilitar el volcado de memoria para una sola sesión de terminal llamando:
ulimit -c unlimited
antes de iniciar la aplicación de línea de comandos.
Puede encontrar los volcados de memoria en /cores
. Tenga cuidado, ya que los volcados del núcleo pueden ser grandes y pueden llenar fácilmente su unidad si no limpia el directorio /cores
de forma regular.
Aha! Exactamente lo que quería! Me pregunto por qué decidieron almacenarlos allí en lugar de en el directorio de trabajo ... –
Sospecho que es más fácil eliminarlos. Si los volcados centrales están habilitados en todo el sistema, podría terminar con una gran cantidad de archivos grandes diseminados por el sistema si se colocaran en el directorio de trabajo. –
Esto es solo una conjetura salvaje, pero ¿has verificado /Library/Logs/DiagnosticReports/
?
Parece que tengo una. Supongo que no sé cómo usar una computadora. Sin embargo, no hay archivos base = ( –
Pruebe también ~/Library/Logs/DiagnosticReports/para informes de fallos de aplicaciones. En OS X, el árbol/Library se duplica para cada usuario bajo ~/Library. Si su aplicación se ejecuta en espacio de usuario, OS X colocará el informe del bloqueo en ~/Library. –
- 1. DMD 2 en Snow Leopard
- 2. CGPostMouseEvent reemplazo en Snow Leopard
- 3. WxPython ¿Incompatible con Snow Leopard?
- 4. Snow Leopard y XCode 3.1
- 5. Xcode 4.3 para Snow Leopard
- 6. PyObjc y Cocoa en Snow Leopard
- 7. Selenio y Python en Snow Leopard
- 8. ¿Cómo grabar un applescript en Snow Leopard?
- 9. Compilar Matplotlib para Python en Snow Leopard
- 10. joya instala error mysql en Snow Leopard
- 11. Cómo instalar iPython en Snow Leopard
- 12. Construcción limpia en Xcode/Snow Leopard
- 13. Vinculación al archivo delgado en Snow Leopard
- 14. ¿Cómo puedo compilar Valgrind en Snow Leopard?
- 15. lista de dispositivos ADB vacío - Snow Leopard
- 16. XCode for Snow Leopard: dónde obtener
- 17. Instalar Xcode 4.2 para Snow Leopard falla
- 18. Problemas con Snow Leopard, Django y PIL
- 19. Compilación de una aplicación PyObjC para 10.5 (Leopard) en xcode 10.6 (Snow Leopard)
- 20. Configurar Snow Leopard para usar Python 2.5 en lugar de 2.6
- 21. XAMPP o MAMP en Mac OS X 10.6.2 (Snow Leopard)
- 22. ¿Por qué GCC ignora ARCHFLAGS en Snow Leopard?
- 23. Biblioteca de enlaces para OpenMP para Snow Leopard?
- 24. importación iOS 6 SDK en Xcode 4.2 en Snow Leopard
- 25. Edificio para 10.5 en Xcode 3.2 (en Snow Leopard) error
- 26. velocidad Eclipse IDE lenta en Snow Leopard Macbook
- 27. ¿Dónde está SDL-config instalado en MacOS 10.6 (Snow Leopard)
- 28. Como instalar mejor Rhino en OSX 10.6 Snow Leopard
- 29. Cómo construir un objetivo de hormiga condicionalmente en Snow Leopard
- 30. SQLite max query parameters difiere en Snow Leopard?
¿Puede ejecutar su aplicación bajo el depurador (XCode o simple gdb)? –
Puedo, pero a menudo es un dolor, especialmente si mi código está vinculado a Python o algo similar. Otras veces, los segmentos no son reproducibles, así que me gustaría poder realizar la autopsia correctamente. –