Devo sapere come posso scaricare la memoria in Safari.app, in un file.
Ho inserito gdb attach 6741 (il mio safari PID).
E adesso?
Ho provato a cercare aiuto su gdb su google, ma non sono riuscito a trovare nulla che mi dicesse cosa fare, anche quando cercavo "come scaricare memoria in gdb" :(
Ho provato a "aiutare il dump", mi ha dato un sacco di comandi, ma nessuno di loro ha funzionato. Il più vicino che mi è venuto è stato:
(gdb) dump memory ~/safaridump.bin 0
Missing stop address.
Quindi qual è l'indirizzo di stop? Non lo so? Come intendo conoscere l'indirizzo di stop? Ho provato a cercare su Google "" indirizzo di stop mancante "gdb", non ha aiutato. Non ho idea di come ottengo l'indirizzo di stop.
Ho provato questo:
(gdb) dump memory ~ / safaridump.bin 0 0xffffffff
Neanche quello ha funzionato.
Ho capito:
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
Davvero non capisco questo. Tutto quello che voglio è la mia memoria in Safari, scritta in un file.
È davvero importante per me. Ho trascorso circa 2 ore a scrivere il mio povero cuore in Safari, scrivendo alcune informazioni davvero importanti. E poi lo stupido sito web a cui stavo scrivendo, non ha accettato il mio post, perché avevo impiegato tanto tempo a scriverlo, che avevo "disconnesso". Quando ho effettuato nuovamente l'accesso, il mio post era perso.
Rivoglio davvero questo riscritto. Tutto quello che voglio è la memoria di Safari, quindi posso cercare nel suo contenuto alcune parole chiave per vedere se riesco a riavere la mia scrittura.
Qualche idea qualcuno?
Per lo meno, anche se non riprendo a scrivere, imparerò qualcosa su gdb. Che potrebbe tornare utile nello sviluppo del mio software;)
Grazie se puoi aiutarci! Significherebbe molto per me. Lascerò Safari e gdb in esecuzione, finché non avrò una risposta. Non lo lascerò andare finché non scoprirò che posso o non posso riprendere a scrivere.
Se qualcuno vuole dare risposte più generali su come recuperare il lavoro perso ... questa è una buona cosa. Come programmi per cercare nel mio intero disco rigido stringhe specifiche che potrebbero essere state in VRAM prima che il lavoro andasse perso.
...
http://www.mail-archive.com/use-revolution@lists.runrev.com/msg22978.html Questa pagina afferma che kill -9 non genera un dump principale. Nonostante ciò che questa pagina dice http://developer.apple.com/mac/library/technotes/tn2004/tn2124.html#SECCOREDUMPS , questo comando "kill -ABRT (PID HERE)", non creerà un dump principale.
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 ..