我需要知道如何将Safari.app中的内存转储到文件中。
我输入了gdb attach 6741(我的野生动物园PID)。
怎么办?
我尝试在Google上的gdb上搜索帮助,但是即使搜索“如何在gdb中转储内存”,我也找不到任何告诉我该怎么做的内容:(
我尝试了“帮助转储”,它给了我很多命令,但是没有一个起作用。我最接近的是:
(gdb) dump memory ~/safaridump.bin 0
Missing stop address.
那么终止地址是什么?我不知道?我怎么知道停靠地址?我尝试在Google上搜索““缺少终止地址” gdb“,但没有帮助。我不知道该如何获得停止地址。
我尝试了这个:
(gdb)转储内存〜/ safaridump.bin 0 0xffffffff
那也不起作用。
我懂了:
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
我真的不明白这一点。我想要的只是将我在Safari中的内存写入文件。
对我来说真的很重要。我花了大约2个小时在Safari中输入我的可怜的心,写下了一些非常重要的信息。然后我正在写的那个愚蠢的网站不接受我的帖子,因为我花了很长时间写它,以至于我“退出了”。在我重新登录时,我的帖子已经丢失。
我真的很想把这篇文章写回来。我想要的只是Safari的内存,因此我可以在它的内容中搜索一些关键字,以查看是否可以回信。
有任何想法吗?
至少,即使我不回信,我也会学到一些有关gdb的知识。在我的软件开发中可能会派上用场;)
谢谢您的帮助!这对我来说意义重大。在得到答案之前,我将使Safari和gdb保持运行状态。我要放手,直到我发现我可以或不可以收回我的著作。
如果有人想就如何找回丢失的工作给出更一般的答案……那是一件好事。例如程序,用于在我的整个硬盘上搜索丢失工作之前可能已存在于VRAM中的特定字符串。
...
http://www.mail-archive.com/use-revolution@lists.runrev.com/msg22978.html此页面显示kill -9不会生成核心转储。尽管此页面说的是http://developer.apple.com/mac/library/technotes/tn2004/tn2124.html#SECCOREDUMPS,但该命令“ kill -ABRT(PID HERE)”不会创建核心转储。
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 ..