macos - usuario - quitar permisos carpeta mac
¿Cómo generar archivos core en una Mac? (1)
Tengo un programa que espero depurar en gdb por un error de segmentación, pero no estoy seguro de cómo puedo generar un archivo de núcleo a partir de él.
Intenté $ ulimit -c unlimited
, pero cuando ejecuté el programa y luego navegué en / cores /, no hay ningún archivo core generado allí cuando escribí ls
.
¿Me estoy perdiendo algo aquí?
¡Gracias por adelantado!
La forma de habilitar la generación del archivo central depende de su caparazón. La sintaxis que está mostrando es para alguien que usa sh
o bash
como su caparazón, y debería funcionar bien. p.ej
% sh
sh-3.2$ cat>/tmp/a.c
int main ()
{
void (*f)() = 0;
f();
}
sh-3.2$ clang -g /tmp/a.c -o /tmp/a.out
sh-3.2$ ulimit -c unlimited
sh-3.2$ /tmp/a.out
Segmentation fault: 11 (core dumped)
sh-3.2$ ls -l /cores/core.10893
-r-------- 1 jason admin 367714304 Nov 16 13:13 /cores/core.10893
sh-3.2$ gdb -q /tmp/a.out /cores/core.10893
Reading symbols for shared libraries .. done
Reading symbols for shared libraries . done
Reading symbols for shared libraries
warning: Could not find object file "/var/folders/5h/nlzqfv116jnc68g495d_3j4m0000gn/T/a-pUbMeU.o" - no debug information available for "/tmp/a.c".
.......................... done
#0 0x0000000000000000 in ?? ()
(gdb) add-dsym /tmp/a.out.dSYM
Added dsym "/tmp/a.out.dSYM" to "[memory object "/private/tmp/a.out" at 0x10f5d7000]".
(gdb) bt
#0 0x0000000000000000 in ?? ()
#1 0x000000010f5d7f3d in main () at /tmp/a.c:4
(gdb)