Il prossimo aggiornamento delle funzionalità di Windows 10 (19H1, aggiornamento di aprile 2019, versione 1903) includerà il supporto per DTrace, il popolare strumento di debug e diagnostica open source. È stato originariamente creato per Solaris ed è diventato disponibile per Linux, FreeBSD, NetBSD e macOS. Microsoft lo ha portato su Windows.
Pubblicità
DTrace è un framework di tracciamento dinamico che consente a un amministratore o sviluppatore di visualizzare in tempo reale un sistema in modalità utente o kernel. DTrace dispone di un potente linguaggio di programmazione di alto livello in stile C che consente di inserire in modo dinamico i punti di traccia. Utilizzando questi punti traccia inseriti dinamicamente, è possibile filtrare condizioni o errori, scrivere codice per analizzare schemi di blocco, rilevare deadlock, ecc.
come controllare quanti sottotitoli ha uno streamer Twitch?
In Windows, DTrace estende Event Tracing for Windows (ETW) che è statico e non fornisce la possibilità di inserire punti di traccia a livello di programmazione in fase di esecuzione.
Tutte le API e le funzionalità utilizzate da dtrace.sys sono chiamate documentate.
come fare duetto su tiktok
Microsoft ha implementato un driver speciale per Windows 10 che consente di eseguire una serie di ruoli di monitoraggio del sistema. Il driver sarà incluso con Windows 10 versione 1903. Inoltre, DTrace attualmente richiede l'avvio di Windows con un debugger del kernel abilitato.
Il codice sorgente per lo strumento DTrace trasferito è disponibile su GitHub. Visita la pagina ' DTrace su Windows 'Sotto il progetto OpenDTrace su GitHub per vederlo.
Imposta DTrace in Windows 10
Prerequisiti per l'utilizzo della funzionalità
- Insider di Windows 10 build 18342 o più alto
- Disponibile solo su x64 Windows e acquisisce le informazioni di traccia solo per i processi a 64 bit
- Programma Windows Insider è abilitato e configurato con un account Windows Insider valido
- Visita Impostazioni-> Aggiornamento e sicurezza-> Programma Windows Insider per i dettagli
Istruzioni:
come eseguire lo streaming di vlc su chromecast?
- Configurazione BCD impostata :
- bcdedit / imposta dtrace su
- Nota, devi impostare nuovamente l'opzione bcdedit, se esegui l'aggiornamento a una nuova build Insider
- Scarica e installa il pacchetto DTrace da Centro Download .
- In questo modo vengono installati i componenti della modalità utente, i driver e i pacchetti di funzionalità aggiuntive su richiesta necessari per il funzionamento di DTrace.
- Facoltativo: aggiorna il file Variabile d'ambiente PATH includere C: Programmi DTrace
- set PATH =% PATH%; 'C: Program Files DTrace'
- Impostare percorso dei simboli
- Crea una nuova directory per memorizzare i simboli nella cache in locale. Esempio: mkdir c: simboli
- Impostato _NT_SYMBOL_PATH = srv * C: simboli * http://msdl.microsoft.com/download/symbols
- DTrace scarica automaticamente i simboli necessari dal server dei simboli e li memorizza nella cache nel percorso locale.
- Opzionale: Imposta il debugger del kernel connessione alla macchina di destinazione ( Collegamento MSDN ). Questo è solo obbligatorio se si desidera tracciare gli eventi del kernel utilizzando FBT o altri provider.
- Nota che dovrai disabilitare Secureboot e Bitlocker su C :, (se abilitato), se vuoi configurare un debugger del kernel.
- Riavvia macchina di destinazione
Utilizzando DTrace
- Apri un file prompt dei comandi con privilegi elevati .
- Esegui uno dei seguenti comandi:
# Riepilogo di Syscall per programma per 5 secondi: dtrace -Fn 'tick-5sec {exit (0);} syscall ::: entry {@num [pid, execname] = count ();}' # Riepiloga timer imposta / annulla programma per 3 secondi: dtrace -Fn 'tick-3sec {exit (0);} syscall :: Nt * Timer *: entry {@ [probefunc, execname, pid] = count ();}' # Scarica la struttura del kernel del processo di sistema: (richiede l'impostazione del percorso del simbolo) dtrace -n 'BEGIN {print (* (struct nt`_EPROCESS *) nt`PsInitialSystemProcess); exit (0);}' # Traccia i percorsi attraverso NTFS quando si esegue notepad.exe (richiede KD a
Il comando dtrace -lvn syscall ::: elencherà tutte le sonde ei loro parametri disponibili dal provider di syscall.
Di seguito sono riportati alcuni dei provider disponibili su Windows e il loro strumento.
- syscall - Chiamate di sistema NTOS
- fbt (Function Boundary Tracing) - Voce e ritorni della funzione kernel
- pid - Traccia del processo in modalità utente. Come FBT in modalità kernel, ma che consente anche la strumentazione di offset di funzioni arbitrarie.
- qc (Traccia eventi per Windows): consente di definire i probe per ETW Questo provider aiuta a sfruttare la strumentazione del sistema operativo esistente in DTrace.
- Questa è un'aggiunta che abbiamo apportato a DTrace per consentirgli di esporre e ottenere tutte le informazioni già fornite da Windows ETW .
Altri script di esempio applicabili per scenari Windows possono essere trovati in questo directory dei campioni .
Fonte: Microsoft