Windows Tips & News

DTrace su Windows riceve i suoi aggiornamenti 20H1 con supporto ARM64

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

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 e aggiunge una parte di aggiornamenti con l'aggiornamento delle funzionalità 20H1.

Annuncio

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.

Dtrace su Windows

Microsoft ha implementato un driver speciale per Windows 10 che consente di eseguire una serie di ruoli di monitoraggio del sistema. Il driver è integrato in Windows 10 a partire dalla versione 1903.

A partire da Windows 10 insider build 19041.21, DTrace include i seguenti miglioramenti.

Contenutinascondere
Anteprima ARM64
Modalità utente Stackwalk
Supporto per dump live
Tracciamento ETW

Anteprima ARM64

Sì, è giusto! DTrace ora supporta ARM64 in modalità anteprima. L'MSI ARM64 è disponibile nel collegamento per il download sopra elencato.

Puoi usarlo sul tuo Surface Pro X eseguendo l'ultima build di Windows 10 Insider Preview (20H1), a partire da 19041.21.

Traccia sul braccioDTrace su Surface Pro X

Modalità utente Stackwalk

Nell'anteprima, la funzione stackwalk in DTrace era limitata alla modalità Kernel (stack). Questo aggiornamento aggiunge il supporto per la funzione stackwalk in modalità utente (ustack). Come lo stack, la funzione ustack è completamente compatibile con le specifiche DTrace open source. Può essere invocato in tre modi specificando frame (profondità) e dimensioni (ignorati per ora) o void.

  • Ustack (nframe, dimensione)
  • Ustack (nframe)
  • Ustack()

Mentre ustack() può determinare l'indirizzo del frame chiamante quando si attiva il probe, gli stack frame lo faranno non essere tradotto in simboli fino a quando l'azione ustack() non viene elaborata in modalità utente dal consumatore DTrace. Il download dei simboli può rallentare l'output. Quindi, è meglio usare questa funzione con simboli memorizzati nella cache locale come di seguito.

dtrace -n "profilo-1ms /arg1/ {ustack (50, 0); exit (0);} " -y C:\symbols. dtrace: descrizione 'profile-1ms' corrisponde a 1 sonda. ID CPU FUNZIONE: NOME 0 3802 :profile-1ms ntdll`ZwAllocateVirtualMemory+0x14 ntdll`RtlAllocateHeap+0x3ded ntdll`RtlAllocateHeap+0x763 ucrtbase`malloc_base+0x44

Supporto per dump live

Windows usa comunemente qualcosa chiamato discarica dal vivo per aiutare a diagnosticare rapidamente i problemi. I dump live aiutano a risolvere i problemi che coinvolgono più processi o problemi a livello di sistema senza tempi di inattività. In 20H1, DTrace su Windows può essere utilizzato per acquisire un live dump dall'interno di uno script D utilizzando il lkd() impianto DTrace. Un caso d'uso comune di questa funzione è quello di strumentare il percorso di errore (come il codice di ritorno indica un errore) e acquisire un live dump proprio nel punto di errore per la diagnostica avanzata. Per ulteriori informazioni sul supporto del live dump, vedere DTrace Live Dump.

dtrace -wn "syscallreturn { if (arg0 != 0xc0000001UL) { lkd (0); printf(\" Attivazione Live dump \n \");exit (0); }}" dtrace: descrizione 'syscallreturn ' corrisponde a 1411 sonde. dtrace: consentire azioni distruttive. ID CPU FUNZIONE: NOME 0 181 NtDeviceIoControlFile: return Triggering Live dump dir c:\Windows\LiveKernelReports Il volume nell'unità C non ha etichetta. Il numero di serie del volume è 70F4-B9F6 Directory di c:\Windows\LiveKernelReports 11/05/2019 17:20<DIR>. 11/05/2019 17:20 <DIR>.. 11/05/2019 17:19 <DIR> DTRACE. 05/11/2019 17:20 53.395.456 DTRACE-20191105-1720.dmp. 

Tracciamento ETW

Tracciamento ETW è lo strumento più utilizzato per il debug su Windows. Nell'anteprima di DTrace su Windows 19H1, abbiamo aggiunto il supporto per la strumentazione degli eventi registrati e manifestati utilizzando il fornitore ETW.

Nel 20H1, abbiamo ulteriormente migliorato questa struttura per creare nuovi eventi ETW al volo dall'interno di uno script D utilizzando il ETW_Trace() servizio, struttura. Ciò è utile in situazioni in cui gli eventi ETW esistenti sono insufficienti e si desidera aggiungere ulteriori punti di traccia ETW senza modificare il codice di produzione.

Per maggiori informazioni su ETW_Trace struttura e fornitore ETW, vedere DTrace ETW.

/* Eseguendo l'esempio del provider GitHub ETW (link sotto) per stampare l'evento delle informazioni sulla memoria del nodo. https://github.com/microsoft/DTrace-on-Windows/blob/master/samples/windows/etw/numamemstats.d. */ dtrace -qs numamemstats.d ID partizione: 0. Conteggio: 1. Numero di nodo: 1. m_nodeinfo { uint64_t TotalPageCount = 0x1fb558 uint64_t SmallFreePageCount = 0x41 uint64_t SmallZeroPageCount = 0 uint64_t MediumFreePageCount = 0 uint64_t MediumZeroPageCount = 0 uint64_t LargeFreePageCount = 0 uint64_t LargeZeroPageCount = 0 uint64_t HugeFreePageCount = 0 uint64_t HugeZeroPageCount = 0. }

Se sei interessato all'installazione di DTrace, controlla come è possibile farlo qui.

Puoi scaricare il pacchetto DTrace MSI aggiornato da qui.

Eccolo codice sorgente e script avanzati.

Fonte

CONSIGLIATO: Fare clic qui per risolvere i problemi di Windows e ottimizzare le prestazioni del sistema
Come cambiare l'icona della cartella in Windows 10

Come cambiare l'icona della cartella in Windows 10

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

Leggi di più

Come cercare con screenshot in Windows 10

Come cercare con screenshot in Windows 10

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

Leggi di più

Archivi delle opzioni della cartella di Windows 10

Questo sito utilizza i cookie per migliorare la tua esperienza durante la navigazione nel sito. D...

Leggi di più