2012-04-09 7 views
0

私はWindows 7マシンのメモリ(RAM)のダンプを高水準プログラミング言語で実行するための最善の方法を研究しています。 C#。私はこれについてかなりの量の研究を行い、以下に要約します。高水準言語による物理メモリへのアクセス。

メモリへのマイクロソフトのAPIアクセスはいくつかの時間バックオフカットされたことが表示されます。•(\デバイス\の物理メモリ)

•今、あなたのコードがカーネル内で実行されなければならないメモリへのアクセスを得るためにことが表示されますユーザーモードとは対照的に、モードは、この方法は、私の要件のには適していません、あなたは私がハングアップするシステムにWindowsのダンプのメモリは(小、大&カーネルダンプ)どのように見ている•メモリ

にアクセスすることを可能にします

私はマシンの物理メモリにアクセスする方法について誰かが良い判断を下したかどうか疑問に思った。私がWindow Applicationsをプログラミングするのに慣れているので、低レベルのコーディング言語についての私の知識は乏しいです。これまでに私が受け取った提案には、メモリにアクセスしてより高いレベルのプログラミング言語でこれを呼び出すドライバを書くことが含まれます。

コミュニティが提供できるヘルプは、非常に高く評価されます。前もって感謝します。

+2

ダンプはどうしますか?あなたの環境でprocdump -maは十分ではありませんか? – GregC

+1

低レベル言語であっても、物理メモリにアクセスするのは難しいです。あなたが受け取った提案は、おそらく最も賢明なアプローチです。 – Mat

+0

私の検索は私にprocdump -maをもたらしましたが、残念ながら、単一のプロセスのメモリしかダンプできません。私はOSなどで読み込まれたファイルを含むフルメモリにアクセスしています。他の提案があるかどうかを知りたい場合や、マットがドライバのルートを下ろす必要があるかもしれないと述べたことに感謝します。 noonnb&Justin私はあなたの推薦に行動しました。歓声 –

答えて

0

procdump -maを使用してください。これにより、単一プロセスの完全な状態が得られます。 OSをカーネルモードの人にデバッグしたままにしておきます。

私は、WinDBGでのカーネルモードのデバッグに関する私の短い経験から、2番目のPCとFirewireリンクから始めることをお勧めします。テスト対象のシステムで、ハードドライブを取り外して、シンボルを含むOSをインストールします。あなたがそれを壊している時間のために、シンボルでOSの良い基本イメージを持っていることを確認してください。

私の短いリストのWinDBGの書籍は、「Windowsドライバモデルのプログラミング」、Oney、MSPressです。

This may help.

関連する問題