我正在研究通过高级编程语言执行Windows 7机器的内存(RAM)转储的最佳方法,例如C#。我已经对此进行了大量的研究,我将在下面进行总结。
•看来Microsoft API对内存的访问在一段时间后被切断(\ Device \ PhysicalMemory)
•现在看来,要访问内存,您的代码必须在内核模式下执行,而不是用户模式允许您访问内存
•我已经研究过系统挂起时Windows转储内存(小型,大型和内核转储)的方式,此方法不适合我的要求
我想知道是否有人对如何访问机器的物理内存有了很好的了解。我对低级编码语言的了解很少,因为我习惯于编写Window Applications。到目前为止我收到的建议包括编写驱动程序来访问内存,然后通过更高级别的编程语言调用它。
任何社区可以提供的任何帮助都将非常感谢!提前谢谢。
答案 0 :(得分:0)
使用procdump -ma。这给出了单个过程的完整状态。将操作系统调试到内核模式的人。
从我使用WinDBG进行内核模式调试的相当短的经验,我建议从第二台PC和Firewire链接开始。在被测系统上,卸下硬盘驱动器并使用符号安装操作系统。确保你有一个良好的操作系统基本图像与符号,打破它的时间。
在我的简短WinDBG书籍列表中,可以阅读“编程Windows驱动程序模型”,Oney,MSPress。