WinDbg – Menu Modelo de Dados
Esta seção descreve como trabalhar com o menu do modelo de dados no depurador WinDbg.
Nova consulta de modelo
Use a caixa de diálogo Nova Consulta de Modelo para criar uma nova consulta de modelo. Você pode colocar qualquer coisa aqui que colocar em um comando normal dx
.
Por exemplo, especifique Debugger.Sessions
para examinar os objetos de sessões do depurador.
Para obter informações gerais sobre os objetos do depurador, consulte dx (Exibir expressão de modelo de objeto do depurador).
Use consultas LINQ para se aprofundar na sessão. Essa consulta mostra os cinco principais processos que executam a maioria dos threads.
Debugger.Sessions.First().Processes.Select(p => new { Name = p.Name, ThreadCount = p.Threads.Count() }).OrderByDescending(p => p.ThreadCount),5
Modelo de dados Explorer
Use o gerenciador de modelos de dados para procurar rapidamente cada objeto de modelo de dados no Debugger
namespace .
Modo de Exibição
Use o modo de exibição para alternar entre o modo de exibição de grade e hierarquia. Você pode clicar com o botão direito do mouse em cabeçalhos de coluna para ocultar ou mostrar mais colunas.
O modo de grade pode ser útil para se aprofundar nos objetos . Por exemplo, aqui está a consulta de threads superiores anterior no modo de exibição de grade.
Quando você clica em qualquer item sublinhado, uma nova guia é aberta e uma consulta é executada para exibir essas informações.
Essa consulta mostra os dispositivos na árvore de dispositivos plug and play agrupados pelo nome do driver do objeto de dispositivo físico para uma sessão de kernel.
Debugger.Sessions.First().Devices.DeviceTree.Flatten(n => n.Children).GroupBy(n => n.PhysicalDeviceObject->Driver->DriverName.ToDisplayString())
Alterar Consulta
Use a consulta de alteração para alterar a consulta usada na janela do modelo de dados ativo.