使用 Windows API 处理内存转储
是否可以通过 Windows 7 API 函数调用转储进程占用的内存,而不必安装 Windbg 等外部工具? Taskmanager 支持简单的一键式内存转储,这让我相信它可能会使用 API 来实现这一点。
我应该补充一点,我正在谈论正在运行的应用程序的内存转储。不是那些刚刚坠毁的。
Is it possible to dump the occupied memory of a process with Windows 7 API function calls instead of having to install external tools like Windbg? Taskmanager supports simple one-click memory dumps, leading me to believe that it might use the API to pull that off.
I should add, that I'm talking about memory dumps of running applications. Not those that just crashed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有一个用于此目的的 API: MiniDumpWriteDump。它只需要您传入一些句柄和一个异常结构。要使用它,您必须链接到Dbghelp.lib库。
这将创建一个与 Visual Studio 兼容的转储文件,因此您可以将其加载并检查进程内存、调用堆栈等
There is an API for this: MiniDumpWriteDump. It just requires you to pass in a few handles and an exception structure. To use it you will have to link against the Dbghelp.lib library.
This will create a dump file that is compatible with Visual Studio, so you can load it in and inspect the process memory, callstack .etc