Safari.appのメモリをファイルにダンプする方法を知る必要があります。
gdb attach 6741(私のサファリPID)を入力しました。
それで?
Googleでgdbのヘルプを検索してみましたが、「gdbにメモリをダンプする方法」を検索しても、何をすべきかを教えてくれるものが見つかりませんでした:(
「ヘルプダンプ」を試しましたが、たくさんのコマンドが得られましたが、どれも機能しませんでした。私が来た最も近いものは:
(gdb) dump memory ~/safaridump.bin 0
Missing stop address.
それで、ストップアドレスは何ですか?知りません?停車地を知るにはどうすればよいですか?グーグルで「停止アドレスがありません」の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からのメモリだけなので、その内容をいくつかのキーワードで検索して、書面を取り戻すことができるかどうかを確認できます。
誰かアイデアはありますか?
少なくとも、返事がなくても、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 ..