首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++ MiniDumpWriteDump失败

C++ MiniDumpWriteDump失败
EN

Stack Overflow用户
提问于 2015-06-12 11:45:16
回答 1查看 1.1K关注 0票数 2

我正在尝试创建一个简单的C++控制台应用程序,它可以转储给定进程的内存空间(例如calc.exe),所以我使用了MiniDumpWriteDump函数

以下是代码:

代码语言:javascript
复制
DWORD procID = 1150;
char* procName = "calc.exe";

    // opens the dump file
    HANDLE hFile = CreateFile( "calc.dmp", GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); 
    if(hFile)
    {
        // opens the process
        HANDLE hProcToDump = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE,  procID);
        if(hProcToDump)
        {
            // dumps via the API
            BOOL rv = MiniDumpWriteDump(hProcToDump, GetProcessId(hProcToDump), hFile, MiniDumpNormal, NULL, NULL, NULL);
            HRESULT hr = GetLastError();

            if( !rv )
                printf("MiniDumpWriteDump failed.");
            else
                printf("Minidump OK!");

            CloseHandle( hFile );
            CloseHandle( hProcToDump );
        }
}

但是我得到了错误:GetLastError() =hResul0x8007012b只完成了ReadProcessMemory或WriteProcessMemory请求的一部分

为什么?注意:我是Win 7 x64的管理员。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-06-12 13:17:32

试试这个,这与您的示例类似。MiniDumpWriteDump的使用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30802262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档