Metodo IDebugControl::SetEngineOptions (dbgeng.h)
Il metodo SetEngineOptions modifica le opzioni del motore.
Sintassi
HRESULT SetEngineOptions(
[in] ULONG Options
);
Parametri
[in] Options
Specifica le nuove opzioni del motore. Le opzioni sono un set di bit; sostituirà le opzioni dei simboli esistenti. Per una descrizione delle opzioni del motore, vedere Osservazioni.
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
Questo metodo imposta le opzioni del motore su quelle specificate in Opzioni. A differenza di AddEngineOptions, tutte le opzioni dei simboli non elencate nel set di bit Opzioni verranno rimosse.
Dopo la modifica delle opzioni del motore, il motore invia una notifica all'oggetto callback dell'evento di ogni client passando il flag di DEBUG_CES_ENGINE_OPTIONS al metodo IDebugEventCallbacks::ChangeEngineState .
Le opzioni globali seguenti influiscono sul comportamento del motore del debugger:
Costante | Descrizione |
---|---|
DEBUG_ENGOPT_IGNORE_DBGHELP_VERSION | Il motore del debugger genera un avviso anziché un errore se la versione della DLL DbgHelp non corrisponde alla versione del motore del debugger. |
DEBUG_ENGOPT_IGNORE_EXTENSION_VERSIONS | Disabilitare il controllo della versione per le estensioni. Questa operazione elimina la chiamata del motore del debugger a CheckVersion. |
DEBUG_ENGOPT_ALLOW_NETWORK_PATHS |
Le condivisioni di rete possono essere usate per il caricamento di simboli e estensioni. Questa opzione impedisce al motore di impedire i percorsi di rete durante il debug di alcuni processi di sistema e deve essere usato con cautela.
Questa opzione non può essere impostata se è impostata DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS. |
DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS |
Le condivisioni di rete non possono essere usate per il caricamento di simboli e estensioni. Il motore tenta di impostare questa opzione durante il debug di alcuni processi di sistema.
Questa opzione non può essere impostata se è impostata DEBUG_ENGOPT_ALLOW_NETWORK_PATHS. |
DEBUG_ENGOPT_NETWORK_PATHS | OR bit per bit di DEBUG_ENGOPT_ALLOW_NETWORK_PATHS e DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS. |
DEBUG_ENGOPT_IGNORE_LOADER_EXCEPTIONS |
Ignorare le eccezioni previste per la prima probabilità generate dal caricatore in determinate versioni di Windows.
Questa opzione, ad esempio, consente l'esecuzione di file binari di Windows 3.51 durante il debug dei sistemi Windows 3.1 e 3.5. |
DEBUG_ENGOPT_INITIAL_BREAK | Eseguire l'interruzione nel debugger all'evento iniziale della destinazione. |
DEBUG_ENGOPT_INITIAL_MODULE_BREAK | Eseguire l'interruzione nel debugger quando la destinazione carica il primo modulo. |
DEBUG_ENGOPT_FINAL_BREAK | Eseguire l'interruzione nel debugger all'evento finale della destinazione. In una destinazione in modalità utente live, si tratta di quando il processo viene chiuso. Non ha alcun effetto in modalità kernel. |
DEBUG_ENGOPT_NO_EXECUTE_REPEAT | Quando viene assegnato un comando vuoto, il motore del debugger non ripete l'ultimo comando. |
DEBUG_ENGOPT_FAIL_INCOMPLETE_INFORMATION |
Impedire al debugger di caricare i moduli di cui non è possibile eseguire il mapping delle immagini.
Il debugger tenta di caricare immagini durante il debug di minidump che non contengono immagini. |
DEBUG_ENGOPT_ALLOW_READ_ONLY_BREAKPOINTS |
Consentire al motore del debugger di modificare le protezioni di pagina nella destinazione per consentire l'impostazione dei punti di interruzione software in una sezione di sola lettura della memoria.
Quando si impostano punti di interruzione software, il motore modifica in modo trasparente la memoria della destinazione per inserire un'istruzione di interruzione. |
DEBUG_ENGOPT_SYNCHRONIZE_BREAKPOINTS |
Nel debug in modalità utente in tempo reale, il motore esegue operazioni aggiuntive durante l'inserimento e la rimozione di punti di interruzione per garantire che tutti i thread nella destinazione abbiano uno stato di punto di interruzione coerente in ogni momento.
Questa opzione è utile quando più thread possono usare il codice per il quale è impostato il punto di interruzione. Tuttavia, può introdurre la possibilità di deadlock. |
DEBUG_ENGOPT_DISALLOW_SHELL_COMMANDS |
Non consentire l'esecuzione di comandi della shell tramite il debugger.
Dopo che questa opzione è stata impostata, non può essere annullata. |
DEBUG_ENGOPT_KD_QUIET_MODE | Attivare la modalità tranquilla. Per altre informazioni, vedere sq (Impostazione modalità di silenzio). |
DEBUG_ENGOPT_DISABLE_MANAGED_SUPPORT | Disabilita il supporto del motore del debugger per il codice gestito. Se il supporto per il codice gestito è già in uso, questa opzione non ha alcun effetto. |
DEBUG_ENGOPT_DISABLE_MODULE_SYMBOL_LOAD | Il debugger non carica i simboli per i moduli caricati mentre questo flag è impostato. |
DEBUG_ENGOPT_DISABLE_EXECUTION_COMMANDS | Impedisce qualsiasi comando che causerebbe l'esecuzione della destinazione. |
DEBUG_ENGOPT_DISALLOW_IMAGE_FILE_MAPPING | Impedisce il mapping dei file di immagine dal disco. Ad esempio, questa opzione impedisce il mapping delle immagini per il contenuto della memoria durante il debug di file minidump. Questa opzione non influisce sui mapping esistenti; influisce solo sui tentativi successivi di mappare i file di immagine. |
DEBUG_ENGOPT_PREFER_DML | Il debugger esegue versioni avanzate di DML di comandi e operazioni per impostazione predefinita. |
DEBUG_ENGOPT_DISABLESQM | Disabilita il caricamento dei dati delle metriche qualità software (SQ). |
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | dbgeng.h (includere Dbgeng.h) |