2017-12-10 6 views
-1

私は、特定のプロセスによって生成された各メモリブロックの内容を分析します。だから、私は "gcore pid"を使ってプロセスのコアダンプを取得していましたが、どのようにコンテンツを取り出すのか分かりませんでした。プロセスコアファイルからメモリ内容を取り出す方法は?

+0

「各*メモリブロックの内容を分析する」とはどういう意味ですか?私はちょっとあなたの「それぞれ」の使用法をちょっと混乱させています。どのような分析をしたいのですか? **あなたの質問を**より多くのモチベーションとコンテキスト(いくつかの追加paragrapshsで)を与えて**編集するべきです。そのプロセスは何ですか?そのプログラムのソースコードはありますか?どのような実際のメモリブロック分析に留意していますか? **あなたが解決したい本当の問題は何ですか?** –

+0

現在の形では、あなたの質問は不明瞭で広すぎ、混乱しています.....改善してください。 –

答えて

0

一般的に、coreダンプを解析するための優れたツールは、gdbデバッガです。

だからあなたは(あなたのELF実行可能な内部DWARFデバッグ情報を持っている)-gフラグpassed to gccまたはg++またはclangですべてのコードをコンパイルする必要があります。

次に、コマンドgdb myprog coreを使用して、プログラムmyprogの(致命的でない)コアダンプを分析できます。詳細については、use gdbをご覧ください。 gdbはスクリプト化可能であり、extensible(PythonとGuile)であることに注意してください。

coreファイルを解析することはできます(gdbは含まれていません)。次に、その詳細なフォーマットを理解する必要があります(それは何ヶ月もの作業を必要とする可能性があります)。 elf(5)およびcore(5)を参照してください。

BTW、valgrindも有用である。

-gを除いてコンパイルされたプログラムのコアダンプを解析するのに、gdbを使用することもできますが、これはあまり有用ではありません。

関連する問題