MiniDumpWithFullMemory. を使用して、Windows プラットフォームでミニダンプのすべてのメモリを取得できますが、Linux プラットフォームでそれを行うにはどうすればよいですか?
3 に答える
元の質問は、Linux で Google ブレークパッドを使用して互換性のある gdb コアダンプを作成する方法でした。これは実際に実行可能です。Google の指示に従って、ミニダンプとシンボル ファイルを作成します。
https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/linux_starter_guide.md
次に、このツールを使用してミニダンプをコアダンプに変換します: https://chromium.googlesource.com/chromium/src/+/master/docs/linux_minidump_to_core.md
ミニダンプからコアダンプを生成すると、完全なメモリ ダンプは含まれず、「スリム」バージョンのみが含まれることに注意してください。
カーネルは(特定の条件で)core(5)ファイルをダンプする場合があります。この質問も参照してください。コアダンプを有効にするには、おそらくulimit bashビルトインを介して、 setrlimitsyscallを呼び出す必要がある場合があります。
/ procを介して多くのことを照会または構成できます。特に/proc/1234/maps
、プロセス1234のアドレス・マップが表示/proc/1234/mem
され、そのアドレス・スペースにアクセスできます。
gdb
多くの場合、コアダンプを強制するためのgcoreコマンドを提供します。
ブレークパッドは現在、Linux でのフル メモリ ダンプの書き込みをサポートしていません。ごめん。必要に応じて、完全なコア ダンプを書き出し、Breakpad ツリーの core2md ツールを使用してそれらをミニダンプに変換できます: http://code.google.com/p/google-breakpad/source/browse/trunk/src/tools /linux/core2md/core2md.cc