Metodo IDebugControl2::OutputDisassemblyLines (dbgeng.h)
Il metodo OutputDisassemblyLines disassembla diverse istruzioni del processore e invia le istruzioni di assembly risultanti ai callback di output.
Sintassi
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
);
Parametri
[in] OutputControl
Specifica il controllo di output che determina i callback di output del client che ricevono l'output. Per i valori possibili, vedere DEBUG_OUTCTL_XXX. Per altre informazioni sull'output, vedere Input e Output.
[in] PreviousLines
Specifica il numero di righe di istruzioni prima dell'istruzione in Offset da includere nell'output. In genere, ogni istruzione viene restituita in una singola riga. Tuttavia, alcune istruzioni possono richiedere diverse righe di output; ciò può causare il numero di righe di output prima che l'istruzione in Offset sia maggiore di PreviousLines.
[in] TotalLines
Specifica il numero totale di righe di istruzioni da includere nell'output. In genere, ogni istruzione viene restituita in una singola riga. Tuttavia, alcune istruzioni possono richiedere diverse righe di output; in questo modo il numero di righe di output deve essere maggiore di TotalLines.
[in] Offset
Specifica la posizione nella memoria della destinazione delle istruzioni da smontare. L'output di disassembly inizierà le righe PreviousLines prima di queste istruzioni del processore.
[in] Flags
Specifica i flag di bit che influiscono sul comportamento di questo metodo. Nella tabella seguente sono elencati i bit che possono essere impostati.
Bit-Flag | Effetto quando impostato |
---|---|
DEBUG_DISASM_EFFECTIVE_ADDRESS | Calcolare l'indirizzo effettivo di ogni istruzione dalle informazioni di registro correnti e generarne l'output. |
DEBUG_DISASM_MATCHING_SYMBOLS | Se l'indirizzo di un'istruzione ha una corrispondenza esatta dei simboli, restituire il simbolo. |
DEBUG_DISASM_SOURCE_LINE_NUMBER | Includere il numero di riga di origine di ogni istruzione nell'output. |
DEBUG_DISASM_SOURCE_FILE_NAME | Includere il nome del file di origine nell'output. |
[out, optional] OffsetLine
Riceve il numero di riga nell'output contenente l'istruzione in Offset. Se OffsetLine è NULL, queste informazioni non vengono restituite.
[out, optional] StartOffset
Riceve la posizione nella memoria della destinazione della prima istruzione inclusa nell'output. Se StartOffset è NULL, queste informazioni non vengono restituite.
[out, optional] EndOffset
Riceve la posizione nella memoria della destinazione dell'istruzione che segue l'ultima istruzione smontata.
[out, optional] LineOffsets
Riceve le posizioni nella memoria della destinazione delle istruzioni incluse nell'output a partire dall'istruzione in Offset. LineOffsets è una matrice che contiene elementi TotalLines .
Offset è il valore della prima voce in questa matrice, a meno che non si sia verificato un errore durante il disassembling delle istruzioni prima di questa istruzione. In questo caso, la prima voce conterrà DEBUG_ANY_ID e Offset verrà posizionata nella seconda voce della matrice (indice 1).
Se l'output di un'istruzione si estende su più righe, l'elemento nella matrice che corrisponde alla prima riga dell'istruzione conterrà l'indirizzo dell'istruzione.
Se LineOffsets è NULL, queste informazioni non vengono restituite.
Valore restituito
Questo metodo può anche restituire valori di errore. Per altre informazioni, vedere Valori restituiti .
Codice restituito | Descrizione |
---|---|
|
Il metodo è stato eseguito correttamente. |
Commenti
Il linguaggio dell'assembly dipende dal tipo di processore effettivo del sistema di destinazione. Per informazioni sul linguaggio dell'assembly, vedere la documentazione del processore.
Per una panoramica dell'uso dell'assembly nelle applicazioni debugger, vedere Debug in modalità assembly. Per altre informazioni sull'uso dell'assembly con l'API del motore di debugger, vedere Assembling and Disassembling Instructions (Istruzioni di assemblaggio e smontaggio).
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | dbgeng.h (includere Dbgeng.h) |