Necesito saber cómo puedo volcar memoria en Safari.app, a un archivo.
Ingresé gdb attach 6741 (mi safari PID).
¿Ahora que?
Intenté buscar ayuda en gdb en google, pero no pude encontrar nada que me dijera qué hacer, incluso cuando busqué "cómo volcar la memoria en gdb" :(
Intenté "help dump", me dio un montón de comandos, pero ninguno funcionó. Lo más cerca que vine fue:
(gdb) dump memory ~/safaridump.bin 0
Missing stop address.
Entonces, ¿cuál es la dirección de parada? ¿No lo sé? ¿Cómo debo saber la dirección de parada? Intenté buscar en Google "" dirección de detención faltante "gdb", no me ayudó. No tengo idea de cómo obtengo la dirección de parada.
Intenté esto:
(gdb) volcar memoria ~ / safaridump.bin 0 0xffffffff
Eso tampoco funcionó.
Tengo esto:
gdb stack crawl at point of internal error:
0 gdb-i386-apple-darwin 0x0012fd8f internal_vproblem + 316
1 gdb-i386-apple-darwin 0x0012ffd3 internal_verror + 43
2 gdb-i386-apple-darwin 0x00130008 align_down + 0
3 gdb-i386-apple-darwin 0x00130a21 xstrvprintf + 0
4 gdb-i386-apple-darwin 0x00130c25 xmalloc + 40
5 gdb-i386-apple-darwin 0x000045d6 dump_memory_to_file + 241
6 gdb-i386-apple-darwin 0x0012dd3d execute_command + 713
7 gdb-i386-apple-darwin 0x0008815d command_handler + 213
8 gdb-i386-apple-darwin 0x000891af command_line_handler + 1120
9 gdb-i386-apple-darwin 0x001c2486 rl_callback_read_char + 137
10 gdb-i386-apple-darwin 0x000882ed rl_callback_read_char_wrapper + 18
11 gdb-i386-apple-darwin 0x000874b7 handle_file_event + 349
12 gdb-i386-apple-darwin 0x00086e7e process_event + 131
13 gdb-i386-apple-darwin 0x00087c38 gdb_do_one_event + 1178
14 gdb-i386-apple-darwin 0x00081bfd catch_errors + 78
/SourceCache/gdb/gdb-1346/src/gdb/utils.c:1208: internal-error: virtual memory exhausted.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
Realmente no entiendo esto. Todo lo que quiero es mi memoria en Safari, escrita en un archivo.
Es realmente importante para mi. Pasé unas 2 horas escribiendo mi pobre corazón en Safari, escribiendo información realmente importante. Y luego el estúpido sitio web en el que estaba escribiendo no aceptó mi publicación, porque había tardado tanto en escribirla que me había "desconectado". Cuando volví a iniciar sesión, mi publicación estaba perdida.
Realmente quiero que me devuelvan este escrito. Todo lo que quiero es la memoria de Safari, por lo que puedo buscar en su contenido algunas palabras clave para ver si puedo recuperar mi escritura.
¿Alguna idea de alguien?
Por lo menos, incluso si no recupero mi escritura, aprenderé algo sobre gdb. Lo que podría ser útil en mi desarrollo de software;)
¡Gracias si puedes ayudar! Significaría mucho para mí. Voy a dejar Safari y gdb ejecutándose, hasta que obtenga una respuesta. No lo dejaré pasar hasta que descubra que puedo o no puedo recuperar mi escritura.
Si alguien quiere dar respuestas más generales sobre cómo recuperar el trabajo perdido ... eso es algo bueno. Tales como programas para buscar en todo mi disco duro cadenas específicas que podrían haber estado en VRAM antes de que se perdiera el trabajo.
...
http://www.mail-archive.com/use-revolution@lists.runrev.com/msg22978.html Esta página dice que kill -9 no genera un volcado del núcleo. A pesar de lo que dice esta página http://developer.apple.com/mac/library/technotes/tn2004/tn2124.html#SECCOREDUMPS , este comando "kill -ABRT (PID AQUÍ)", no creará un volcado del núcleo.
ls -la /cores
total 0
drwxrwxr-t@ 2 root admin 68 23 Jun 07:19 .
drwxrwxr-t 38 root admin 1360 14 Dec 16:06 ..