IDebugClient8::OpenDumpFileWide2 方法 (dbgeng.h)

OpenDumpFileWide2 方法打开一个转储文件作为调试器目标。

语法

HRESULT OpenDumpFileWide2(
  [in, optional] PCWSTR  FileName,
  [in]           ULONG64 FileHandle,
  [in]           ULONG   AlternateArch
);

参数

[in, optional] FileName

指定要打开的转储文件的名称 -- 除非 FileHandle 不为零,在这种情况下,仅当查询引擎以获取转储文件的名称时,才使用 FileNameFileName 必须包含文件扩展名。 FileName 可以包含相对路径或绝对路径;相对路径相对于启动调试器的目录。 FileName 也可以采用文件 URL 的形式,以“file://”开头。 如果 FileName (.cab) 文件指定了一个 cabinet 文件,则会搜索扩展名为 .kdmp 的第一个文件,然后是 .hdmp,然后是 .mdmp,最后.dmp。

[in] FileHandle

指定要打开的转储文件的文件句柄。 如果 FileHandle 为零,则使用 FileName 打开转储文件。 否则,如果 FileName 不为 NULL,则引擎在查询转储文件的名称时返回它。 如果 FileHandle 不为零且 FileNameNULL,则引擎将为文件名返回 HandleOnly

[in] AlternateArch

指定 AlternateArch 参数,该参数是IMAGE_FILE_MACHINE_* 常量。 有关详细信息,请参阅 映像文件计算机常量

支持这两个常量。

  • IMAGE_FILE_MACHINE_AMD64:像图像在 x64 进程中运行一样加载

  • IMAGE_FILE_MACHINE_ARM64:加载,就像映像在 ARM64 进程中运行一样

仅当使用 OpenDumpFileWide2 打开图像文件 (而不是可映射到不同体系结构的转储文件) 时,此参数才相关。 例如 ARM64X,其中 DLL 可以加载到 x64/EC 进程或 ARM64 进程中。

默认情况下,有关 DLL 的信息使用映像标头定义的任何体系结构来显示。 如果使用不同的体系结构调用 OpenDumpFileWide2,将使用传递的体系结构显示信息。 这使你可以查看当 DLL 加载到该进程的体系结构时操作系统将应用的“修复”。

有关 ARM64X 的详细信息,请参阅 Arm64X PE 文件

返回值

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

注解

在调用 WaitForEvent 方法之前,引擎不会完全附加到转储文件。 从进程或内核创建转储文件时,有关最后一个事件的信息将存储在转储文件中。 打开转储文件后,下次尝试执行时,引擎将为事件回调生成此事件。 只有这样,转储文件才会在调试会话中可用。

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

要求

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

另请参阅

DEBUG_CLIENT_CONTEXT

IDebugClient8