IDebugClient2::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

指定要包含在故障转储文件中的注释字符串。 加载转储文件时,此字符串将显示在调试器控制台中。 某些转储文件格式不支持存储注释字符串。

返回值

此方法也可能返回错误值。 有关更多详细信息 ,请参阅返回值

返回代码 说明
S_OK
方法成功。

注解

WriteDumpFile2WriteDumpFileWide 使用 DEBUG_FORMAT_XXX 位标志来确定故障转储文件的格式,以及要包含在文件中的信息(对于用户模式 Minidumps)。

以下位标志适用于所有故障转储文件。

说明
DEBUG_FORMAT_WRITE_CAB 将故障转储文件打包到 CAB 文件中。 提供的文件名或文件句柄用于 CAB 文件;故障转储首先在临时文件中创建,然后移动到 CAB 文件。
DEBUG_FORMAT_CAB_SECONDARY_FILES
在 CAB 文件中包含当前符号和映射的图像。
如果未设置DEBUG_FORMAT_WRITE_CAB,则忽略此标志。
DEBUG_FORMAT_NO_OVERWRITE 不要覆盖现有文件。
 

还可以为用户模式 Minidumps 包含以下位标志。

说明
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_PROCESS_THREAD_DATA,
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY,
DEBUG_FORMAT_USER_SMALL_INDIRECT_MEMORY,
DEBUG_FORMAT_USER_SMALL_PRIVATE_READ_WRITE_MEMORY。
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY_INFO 添加所有基本内存信息。 这是 QueryVirtual 方法返回的信息。 包括所有内存的信息,而不仅仅是有效内存,这允许调试器从微型转储重新构造完整的虚拟内存布局。
DEBUG_FORMAT_USER_SMALL_THREAD_INFO 添加其他线程信息,包括执行时间、开始时间、退出时间、开始地址和退出状态。
DEBUG_FORMAT_USER_SMALL_CODE_SEGMENTS 添加包含可执行映像的所有代码段。
 

有关故障转储文件的详细信息,请参阅 转储文件目标

要求

要求
目标平台 桌面
标头 dbgeng.h (包括 Dbgeng.h)

另请参阅

.dump(创建转储文件)

IDebugClient2

IDebugClient3

IDebugClient4

IDebugClient5

WriteDumpFileWide