IDebugControl2::D isassemble 메서드(dbgeng.h)

Disassemble 메서드는 대상의 메모리에서 프로세서 명령을 디스어셈블합니다.

구문

HRESULT Disassemble(
  [in]            ULONG64  Offset,
  [in]            ULONG    Flags,
  [out, optional] PSTR     Buffer,
  [in]            ULONG    BufferSize,
  [out, optional] PULONG   DisassemblySize,
  [out]           PULONG64 EndOffset
);

매개 변수

[in] Offset

디스어셈블할 명령의 대상 메모리에 있는 위치를 지정합니다.

[in] Flags

이 메서드의 동작에 영향을 주는 비트 플래그를 지정합니다. 현재 설정할 수 있는 유일한 플래그는 DEBUG_DISASM_EFFECTIVE_ADDRESS. 설정되면 엔진은 현재 레지스터 정보의 유효 주소를 계산하고 표시합니다.

[out, optional] Buffer

디스어셈블된 명령을 받습니다. BufferNULL이면 이 정보가 반환되지 않습니다.

[in] BufferSize

버퍼 버퍼의 크기를 문자 단위로 지정합니다.

[out, optional] DisassemblySize

디스어셈블된 명령의 크기를 문자 단위로 받습니다. DisassemblySizeNULL이면 이 정보가 반환되지 않습니다.

[out] EndOffset

디스어셈블된 명령에 따라 명령의 대상 메모리에 있는 위치를 받습니다.

반환 값

이 메서드는 오류 값을 반환할 수도 있습니다. 자세한 내용은 반환 값을 참조하세요 .

반환 코드 Description
S_OK
메서드를 성공적으로 수행했습니다.
S_FALSE
메서드를 성공적으로 수행했습니다. 그러나 버퍼 가 너무 작아서 디스어셈블된 명령을 보유할 수 없으며 명령이 잘렸습니다.

설명

어셈블리 언어는 대상 시스템의 유효 프로세서 유형에 따라 달라집니다. 어셈블리 언어에 대한 자세한 내용은 프로세서 설명서를 참조하세요.

GetAssemblyOptions에서 반환된 디스어셈블리 옵션은 이 메서드의 작업에 영향을 줍니다.

디버거 애플리케이션에서 어셈블리를 사용하는 방법에 대한 개요는 어셈블리 모드에서 디버깅을 참조하세요. 디버거 엔진 API에서 어셈블리를 사용하는 방법에 대한 자세한 내용은 어셈블리 및 디스어셈블리 지침을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 dbgeng.h(Dbgeng.h 포함)

추가 정보

어셈블

GetAssemblyOptions

IDebugControl

IDebugControl2

IDebugControl3

u(언어셈블)