IDebugControl3::OutputDisassemblyLines 메서드(dbgeng.h)
OutputDisassemblyLines 메서드는 여러 프로세서 명령을 디스어셈블하고 결과 어셈블리 지침을 출력 콜백에 보냅니다.
구문
HRESULT OutputDisassemblyLines(
[in] ULONG OutputControl,
[in] ULONG PreviousLines,
[in] ULONG TotalLines,
[in] ULONG64 Offset,
[in] ULONG Flags,
[out, optional] PULONG OffsetLine,
[out, optional] PULONG64 StartOffset,
[out, optional] PULONG64 EndOffset,
[out, optional] PULONG64 LineOffsets
);
매개 변수
[in] OutputControl
출력을 수신하는 클라이언트의 출력 콜백을 결정하는 출력 컨트롤을 지정합니다. 가능한 값은 DEBUG_OUTCTL_XXX 참조하세요. 출력에 대한 자세한 내용은 입력 및 출력을 참조하세요.
[in] PreviousLines
출력에 포함할 오프셋 의 명령 앞에 있는 명령 줄 수를 지정합니다. 일반적으로 각 명령은 한 줄에 출력됩니다. 그러나 일부 지침은 여러 줄의 출력을 차지할 수 있습니다. 이로 인해 Offset 의 명령 앞의 줄 출력 수가 PreviousLines보다 클 수 있습니다.
[in] TotalLines
출력에 포함할 총 명령 줄 수를 지정합니다. 일반적으로 각 명령은 한 줄에 출력됩니다. 그러나 일부 지침은 여러 줄의 출력을 차지할 수 있습니다. 이로 인해 출력된 줄 수가 TotalLines보다 클 수 있습니다.
[in] Offset
디스어셈블할 지침의 대상 메모리에 있는 위치를 지정합니다. 디스어셈블리 출력은 이러한 프로세서 지침 전에 PreviousLines 줄을 시작합니다.
[in] Flags
이 메서드의 동작에 영향을 주는 비트 플래그를 지정합니다. 다음 표에서는 설정할 수 있는 비트를 나열합니다.
Bit-Flag | 설정 시 효과 |
---|---|
DEBUG_DISASM_EFFECTIVE_ADDRESS | 현재 레지스터 정보에서 각 명령의 유효 주소를 계산하고 출력합니다. |
DEBUG_DISASM_MATCHING_SYMBOLS | 명령의 주소에 정확한 기호가 일치하면 기호를 출력합니다. |
DEBUG_DISASM_SOURCE_LINE_NUMBER | 출력에 각 명령의 원본 줄 번호를 포함합니다. |
DEBUG_DISASM_SOURCE_FILE_NAME | 출력에 원본 파일 이름을 포함합니다. |
[out, optional] OffsetLine
오프셋의 명령이 포함된 출력의 줄 번호를 받습니다. OffsetLine이 NULL이면 이 정보가 반환되지 않습니다.
[out, optional] StartOffset
출력에 포함된 첫 번째 명령의 대상 메모리에 있는 위치를 받습니다. StartOffset이 NULL이면 이 정보가 반환되지 않습니다.
[out, optional] EndOffset
마지막 디스어셈블된 명령 뒤에 있는 명령의 대상 메모리에 있는 로카이톤을 받습니다.
[out, optional] LineOffsets
오프셋의 명령으로 시작하여 출력에 포함된 지침의 대상 메모리에 있는 위치를 받습니다. LineOffsets 는 TotalLines 요소를 포함하는 배열입니다.
오프셋 은 이 명령 전에 지침을 디스어셈블하는 동안 오류가 발생하지 않는 한 이 배열의 첫 번째 항목 값입니다. 이 경우 첫 번째 항목에는 DEBUG_ANY_ID 포함되고 오프셋 은 배열의 두 번째 항목(인덱스 1)에 배치됩니다.
명령의 출력이 여러 줄에 걸쳐 있으면 명령의 첫 번째 줄에 해당하는 배열의 요소에 명령의 주소가 포함됩니다.
LineOffsets가 NULL이면 이 정보가 반환되지 않습니다.
반환 값
이 메서드는 오류 값을 반환할 수도 있습니다. 자세한 내용은 반환 값을 참조하세요 .
반환 코드 | Description |
---|---|
|
메서드를 성공적으로 수행했습니다. |
설명
어셈블리 언어는 대상 시스템의 유효 프로세서 유형에 따라 달라집니다. 어셈블리 언어에 대한 자세한 내용은 프로세서 설명서를 참조하세요.
디버거 애플리케이션에서 어셈블리를 사용하는 방법에 대한 개요는 어셈블리 모드에서 디버깅을 참조하세요. 디버거 엔진 API에서 어셈블리를 사용하는 방법에 대한 자세한 내용은 어셈블리 및 디스어셈블리 지침을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | dbgeng.h(Dbgeng.h 포함) |