Metodo IDebugControl3::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 quali callback di output del client 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 su 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 su una singola riga. Tuttavia, alcune istruzioni possono richiedere diverse righe di output; in questo modo il numero di righe di output sarà maggiore di TotalLines.
[in] Offset
Specifica il percorso nella memoria della destinazione delle istruzioni da disassemblare. L'output disassembly avvierà 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 è possibile impostare.
Bit-Flag | Effetto quando impostato |
---|---|
DEBUG_DISASM_EFFECTIVE_ADDRESS | Calcolare l'indirizzo effettivo di ogni istruzione dalle informazioni del registro corrente e restituirne l'output. |
DEBUG_DISASM_MATCHING_SYMBOLS | Se l'indirizzo di un'istruzione ha una corrispondenza esatta del simbolo, 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 che contiene l'istruzione in corrispondenza dell'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 il locaiton nella memoria della destinazione dell'istruzione che segue l'ultima istruzione disassemblata.
[out, optional] LineOffsets
Riceve i percorsi 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à inserita nella seconda voce della matrice (indice 1).
Se l'output di un'istruzione si estende su più righe, l'elemento nella matrice corrispondente 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 altri dettagli, 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 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 Istruzioni per l'assemblaggio e il disassembling.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | dbgeng.h (include Dbgeng.h) |