Windows Tips & News

DTrace è ora disponibile su Windows

click fraud protection

Il prossimo aggiornamento delle funzionalità di Windows 10 (19H1, aggiornamento di aprile 2019, versione 1903) includerà il supporto per DTrace, il popolare strumento di diagnostica e debug open source. È stato originariamente creato per Solaris ed è diventato disponibile per Linux, FreeBSD, NetBSD e macOS. Microsoft lo ha portato su Windows.

DTrace è un framework di tracciamento dinamico che consente a un amministratore o sviluppatore di dare un'occhiata in tempo reale a un sistema in modalità utente o kernel. DTrace ha un linguaggio di programmazione potente e di alto livello in stile C che consente di inserire dinamicamente punti di traccia. Utilizzando questi punti di traccia inseriti dinamicamente, è possibile filtrare in base a condizioni o errori, scrivere codice per analizzare schemi di blocco, rilevare deadlock, ecc.

In Windows, DTrace estende Event Tracing for Windows (ETW) che è statico e non offre la possibilità di inserire punti di traccia a livello di codice in fase di esecuzione.

Tutte le API e le funzionalità utilizzate da dtrace.sys sono chiamate documentate.

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 portato è disponibile su GitHub. Visita la pagina “DTrace su Windows” sotto il progetto OpenDTrace su GitHub per vederlo.

Configura DTrace in Windows 10

Prerequisiti per l'utilizzo della funzione

  • Esperto di Windows 10 costruire 18342 o più alto
  • Disponibile solo su x64 Windows e acquisisce informazioni di traccia solo per 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:

  1. Set di configurazione BCD:
    1. bcdedit /imposta dtrace su
    2. Nota, è necessario impostare nuovamente l'opzione bcdedit, se si esegue l'aggiornamento a una nuova build Insider
  2. Scarica e installa il pacchetto DTrace da Centro Download.
    1. Questo installa i componenti della modalità utente, i driver e i pacchetti di funzionalità aggiuntive su richiesta necessari per il funzionamento di DTrace.
  3. Facoltativo: aggiorna il PATH variabile d'ambiente includere C:\Programmi\DTrace
    1. set PATH=%PATH%;"C:\Programmi\DTrace"
  4. Impostare percorso del simbolo
    1. Crea una nuova directory per la memorizzazione nella cache dei simboli localmente. Esempio: mkdir c:\symbols
    2. Set _NT_SYMBOL_PATH=srv*C:\simboli*http://msdl.microsoft.com/download/symbols
    3. DTrace scarica automaticamente i simboli necessari dal server dei simboli e li memorizza nella cache nel percorso locale.
  5. Opzionale:Configura il debugger del kernel connessione alla macchina di destinazione (Collegamento MSDN). Questo è soltanto richiesto se si desidera tracciare gli eventi del kernel utilizzando FBT o altri provider.
    1. Nota che dovrai disabilitare Secureboot e Bitlocker su C:, (se abilitato), se vuoi configurare un debugger del kernel.
  6. Riavviare macchina bersaglio

Utilizzo di DTrace

  1. Apri e prompt dei comandi con privilegi elevati.
  2. Eseguire uno dei seguenti comandi:
    # Riepilogo Syscall per programma per 5 secondi: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # Riepiloga timer impostato/annulla programma per 3 secondi: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Dump System Processa la struttura del kernel: (richiede simbolo percorso a essere impostato) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # Traccia i percorsi tramite NTFS durante l'esecuzione di notepad.exe (richiede KD a

Il comando dtrace -lvn syscall elencherà tutte le sonde e i loro parametri disponibili dal provider syscall.

Di seguito sono riportati alcuni dei provider disponibili su Windows e ciò che strumenti.

  • syscall – Chiamate di sistema NTOS
  • fbt (Function Boundary Tracing) – Inserimento e ritorni della funzione del kernel
  • pid – Tracciamento del processo in modalità utente. Come FBT in modalità kernel, ma consente anche la strumentazione di offset di funzioni arbitrari.
  • etw (Event Tracing for 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 fatto a DTrace per consentirgli di esporre e ottenere tutte le informazioni che Windows già fornisce in ETW.

Ulteriori script di esempio applicabili per gli scenari Windows sono disponibili in questo directory dei campioni.

Fonte: Microsoft

Come visualizzare i permessi delle app in Windows 10

Come visualizzare i permessi delle app in Windows 10

CONSIGLIATO: Fare clic qui per risolvere i problemi di Windows e ottimizzare le prestazioni del s...

Leggi di più

Come chiudere automaticamente il pannello Emoji in Windows 10

Come chiudere automaticamente il pannello Emoji in Windows 10

CONSIGLIATO: Fare clic qui per risolvere i problemi di Windows e ottimizzare le prestazioni del s...

Leggi di più

Modificare i permessi dell'app in Windows 10

Modificare i permessi dell'app in Windows 10

CONSIGLIATO: Fare clic qui per risolvere i problemi di Windows e ottimizzare le prestazioni del s...

Leggi di più