問題タブ [minidumpwritedump]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
176 参照

c++ - MiniDumpWriteDump() を名前付きパイプに入れ、次に ReadFile()

私がやりたいのは、 MiniDumpWriteDump() を使用して名前付きパイプに書き込み、それを自分で読み書きすることです。コンテンツをファイルに直接書き込むと、ダンプを正常に実行できます。ただし、名前付きパイプへの書き込みは成功していますが、その後の読み取り/書き込み操作はうまくいきません。パイプからすべてのデータを読み取ることができますが、書き込み時に DMP ファイルが破損しているように見えます。

ReadFile() ロジックは次のとおりです。

WriteFile() ロジックは次のとおりです。

根本的な原因に当てはまるかどうかはわかりませんが、名前付きパイプのセットアップは次のとおりです。

GetLastError() から報告されるエラーはありません。明らかな何かが欠けていますか?

編集: コメントに応じて MiniDumpWriteDump() がどのように実行されるかを追加します。

更新:チャンクによる読み取りが何らかの形でデータをドロップしているという印象を受けました。これをテストするために、名前付きパイプのバッファを増やして、サイズを変更せずにダンプ全体を収容できるようにしました。vecBufferサイズも合わせて大きくしました。操作を実行するReadFile()と、ダンプ全体を受け取りますが、まだオフになっています。私はまだMiniDumpWriteDump()、名前付きパイプに有効な出力を提供するために何をする必要があるかを理解しようとして、さまざまな名前付きパイプ設定で遊んでいます。

0 投票する
0 に答える
83 参照

c - C/Win32 : Minidumpwritedump は空のファイルを提供します

PID を持つプロセスのメモリをダンプしたい。以下は私のコードです:

プログラムを正しく実行するには管理者権限が必要なので、EnableDebugPriv() を使用します。

残念ながら、dump.out ファイルは常に空ですが、ハンドルは null ではありません。この問題が発生する理由がわかりません。(ダンプしたいプロセスは、ProcDump などの他のツールで約 75 MB です)。

編集:GetLastError()によって与えられたエラーコードは次のとおりです:-2147024597