Windows Tips & News

DTrace no Windows recebe atualizações 20H1 com suporte ARM64

click fraud protection

DTrace é a ferramenta de depuração e diagnóstico de software livre popular. Ele foi originalmente desenvolvido para Solaris e tornou-se disponível para Linux, FreeBSD, NetBSD e macOS. A Microsoft o portou para o Windows e adiciona uma porção de atualizações com a atualização do recurso 20H1.

O DTrace é uma estrutura de rastreamento dinâmico que permite a um administrador ou desenvolvedor obter uma visão em tempo real de um sistema no modo de usuário ou kernel. O DTrace possui uma linguagem de programação poderosa e de alto nível no estilo C que permite inserir pontos de rastreamento dinamicamente. Usando esses pontos de rastreamento inseridos dinamicamente, você pode filtrar em condições ou erros, escrever código para analisar padrões de bloqueio, detectar deadlocks, etc.

No Windows, o DTrace estende o Rastreamento de Eventos para Windows (ETW), que é estático e não fornece a capacidade de inserir pontos de rastreamento programaticamente no tempo de execução.

Todas as APIs e funcionalidades usadas por dtrace.sys são chamadas documentadas.

A Microsoft implementou um driver especial para o Windows 10 que permite a execução de várias funções de monitoramento do sistema. O driver é integrado ao Windows 10 a partir da versão 1903.

A partir da compilação interna 19041.21 do Windows 10, o DTrace vem com os seguintes aprimoramentos.

Antevisão ARM64

Sim está certo! O DTrace agora oferece suporte a ARM64 no modo de visualização. O ARM64 MSI está disponível no link de download listado acima.

Você pode usá-lo no seu Surface Pro X executando a versão mais recente do Windows 10 Insider Preview (20H1), começando com 19041.21.

DTrace no Surface Pro X

Modo de usuário Stackwalk

Na visualização, o recurso de stackwalk no DTrace foi limitado ao modo Kernel (pilha). Esta atualização adiciona suporte para a facilidade stackwalk no modo de usuário (ustack). Como o stack, o recurso ustack é totalmente compatível com a especificação DTrace de código-fonte aberto. Ele pode ser chamado de três maneiras, especificando quadros (profundidade) e tamanho (ignorado por enquanto) ou vazio.

  • Ustack (nframes, tamanho)
  • Ustack (nframes)
  • Ustack ()

Enquanto ustack () pode determinar o endereço do frame de chamada quando o teste é acionado, os frames da pilha não pode ser traduzido em símbolos até que a ação ustack () seja processada no modo de usuário pelo consumidor do DTrace. O download do símbolo pode diminuir a produção. Portanto, é melhor usar esse recurso com símbolos armazenados em cache localmente, como a seguir.

dtrace -n "perfil-1ms / arg1 / {ustack (50, 0); exit (0);} "-y C: \ símbolos. dtrace: descrição 'profile-1ms' correspondeu a 1 sonda. ID da CPU FUNÇÃO: NOME 0 3802: perfil-1ms ntdll`ZwAllocateVirtualMemory + 0x14 ntdll`RtlAllocateHeap + 0x3ded ntdll`RtlAllocateHeap + 0x763 ucrtbase`malloc_base + 0x44

Suporte de despejo ao vivo

O Windows normalmente usa algo chamado Despejo ao vivo para ajudar a diagnosticar problemas rapidamente. Os despejos dinâmicos ajudam na solução de problemas que envolvem vários processos ou problemas de todo o sistema sem tempo de inatividade. Em 20H1, o DTrace no Windows pode ser usado para capturar um dump ao vivo de dentro de um D-script usando o lkd () Instalação do DTrace. Um caso de uso comum desse recurso é instrumentar o caminho do erro (como o código de retorno indica uma falha) e capturar um dump ativo no ponto de falha para diagnósticos avançados. Para obter mais informações sobre suporte de dump ao vivo, consulte DTrace Live Dump.

dtrace -wn "syscallreturn {if (arg0! = 0xc0000001UL) {lkd (0); printf (\ "Ativando dump Live \ n \"); exit (0); }}" dtrace: a descrição 'syscallreturn' correspondeu a 1411 probes. dtrace: permitindo ações destrutivas. CPU ID FUNCTION: NAME 0 181 NtDeviceIoControlFile: return Triggering Live dump dir c: \ Windows \ LiveKernelReports O volume na unidade C não tem rótulo. O número de série do volume é 70F4-B9F6 Diretório de c: \ Windows \ LiveKernelReports 05/11/2019 17:20<DIR>. 05/11/2019 17:20 <DIR>.. 05/11/2019 17:19 <DIR> DTRACE. 11/05/2019 17:20 53.395.456 DTRACE-20191105-1720.dmp. 

Rastreamento ETW

Rastreamento ETW é a ferramenta usada com mais frequência para depuração no Windows. Na visualização do DTrace no Windows 19H1, adicionamos suporte para instrumentar eventos rastreados e manifestados usando o Provedor de ETW.

Em 20H1, aprimoramos ainda mais esse recurso para criar novos eventos ETW em tempo real de dentro de um D-script usando o ETW_Trace () instalação. Isso ajuda em situações em que os eventos ETW existentes são insuficientes e você gostaria de adicionar pontos de rastreamento ETW adicionais sem modificar o código de produção.

Para mais informações sobre ETW_Trace facilidade e Provedor de ETW, Vejo DTrace ETW.

/ * Executando a amostra do provedor GitHub ETW (link abaixo) para imprimir o evento de informações de memória do nó. https://github.com/microsoft/DTrace-on-Windows/blob/master/samples/windows/etw/numamemstats.d. * / dtrace -qs numamemstats.d ID da partição: 0. Contagem: 1. Número do nó: 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 você estiver interessado em instalar o DTrace, veja como isso pode ser feito aqui.

Você pode baixar o pacote DTrace MSI atualizado daqui.

Aqui está Código fonte e scripts avançados.

Fonte

Adicionar menu de contexto de reconhecimento de fala no Windows 10

Adicionar menu de contexto de reconhecimento de fala no Windows 10

O Windows fornece um recurso de reconhecimento de fala baseado em dispositivo (disponível através...

Consulte Mais informação

Baixe Adicionar Exibir Proprietário ao menu de contexto no Windows 10

Este site usa cookies para melhorar a sua experiência enquanto navega pelo site. Destes cookies, ...

Consulte Mais informação

Adicionar Exibir Menu de Contexto do Proprietário no Windows 10

Adicionar Exibir Menu de Contexto do Proprietário no Windows 10

Em alguns casos, o sistema operacional Windows impede que você execute qualquer operação em deter...

Consulte Mais informação