IDebugClient3::WriteDumpFile2 方法 (dbgeng.h)
WriteDumpFile2 方法创建用户模式或内核模式crash 转储文件。
语法
HRESULT WriteDumpFile2(
[in] PCSTR DumpFile,
[in] ULONG Qualifier,
[in] ULONG FormatFlags,
[in, optional] PCSTR Comment
);
参数
[in] DumpFile
指定要创建的转储文件的名称。 DumpFile 必须包含文件扩展名。 DumpFile 可以包含相对或绝对路径;相对路径相对于启动调试器的目录。
[in] Qualifier
指定要创建的转储文件的类型。 有关可能的值,请参阅 DEBUG_DUMP_XXX。
[in] FormatFlags
指定用于确定转储文件格式的标志,以及要包含在文件中的用户模式小型转储信息。 有关详细信息,请参阅“备注”。
[in, optional] Comment
指定要包含在故障转储文件中的注释字符串。 加载转储文件时,此字符串将显示在调试器控制台中。 某些转储文件格式不支持存储注释字符串。
返回值
此方法也可能返回错误值。 有关更多详细信息 ,请参阅返回值 。
返回代码 | 说明 |
---|---|
|
方法成功。 |
注解
WriteDumpFile2 和 WriteDumpFileWide 使用 DEBUG_FORMAT_XXX 位标志来确定故障转储文件的格式,以及对于用户模式的 Minidumps,要包含在文件中的信息。
以下位标志适用于所有故障转储文件。
值 | 说明 |
---|---|
DEBUG_FORMAT_WRITE_CAB | 将故障转储文件打包到 CAB 文件中。 提供的文件名或文件句柄用于 CAB 文件;故障转储首先在临时文件中创建,然后移动到 CAB 文件。 |
DEBUG_FORMAT_CAB_SECONDARY_FILES |
|
DEBUG_FORMAT_NO_OVERWRITE | 不要覆盖现有文件。 |
还可以为用户模式微型umps 包含以下位标志。
值 | 说明 |
---|---|
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY | 添加完整内存数据。 将包含目标应用程序拥有的所有可访问的提交页面。 |
DEBUG_FORMAT_USER_SMALL_HANDLE_DATA | 添加有关与目标应用程序关联的句柄的数据。 |
DEBUG_FORMAT_USER_SMALL_UNLOADED_MODULES | 添加卸载的模块信息。 此信息仅在 Windows Server 2003 及更高版本的 Windows 中可用。 |
DEBUG_FORMAT_USER_SMALL_INDIRECT_MEMORY | 添加间接内存。 包含一小块内存,它包围了堆栈或后备存储上的指针所引用的任何地址。 |
DEBUG_FORMAT_USER_SMALL_DATA_SEGMENTS | 在可执行映像中添加所有数据段。 |
DEBUG_FORMAT_USER_SMALL_FILTER_MEMORY | 将堆栈上和后备存储中的所有内存设置为零,这对重新创建堆栈跟踪没有用。 这可以使压缩小型转储更高效,并通过删除不必要的信息来增加隐私。 |
DEBUG_FORMAT_USER_SMALL_FILTER_PATHS | 删除模块路径,只保留模块名称。 这对于通过隐藏目录结构 ((可能包含用户名) )来保护隐私非常有用。 |
DEBUG_FORMAT_USER_SMALL_PROCESS_THREAD_DATA | 将进程环境块 (PEB) 和线程环境块 (TEB) 。 此标志可用于为线程和进程提供 Windows 系统信息。 |
DEBUG_FORMAT_USER_SMALL_PRIVATE_READ_WRITE_MEMORY | 添加所有提交的专用读写内存页。 |
DEBUG_FORMAT_USER_SMALL_NO_OPTIONAL_DATA |
|
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY_INFO | 添加所有基本内存信息。 这是 QueryVirtual 方法返回的信息。 包含所有内存的信息,而不仅仅是有效内存,它允许调试器从微型转储重建完整的虚拟内存布局。 |
DEBUG_FORMAT_USER_SMALL_THREAD_INFO | 添加其他线程信息,包括执行时间、开始时间、退出时间、开始地址和退出状态。 |
DEBUG_FORMAT_USER_SMALL_CODE_SEGMENTS | 使用可执行映像添加所有代码段。 |
有关故障转储文件的详细信息,请参阅 转储文件目标。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |