Por que DebugView não mostrar mensagens de depuração quando o Visual Studio faz
-
22-07-2019 - |
Pergunta
Estou desenvolvendo um Browser Helper Object correr dentro do Internet Explorer. Estou escrevendo mensagens de depuração com ATLTRACE("...");
Estes aparecem bem quando Visual Studio está anexado ao processo iexplore.exe
, mas isso é lento para um teste rápido. DebugView capturas nada do meu BHO.
Por que DebugView não mostrar mensagens de depuração BHO? É algo a ver com o Internet Explorer rodando em nível de integridade baixa?
Solução
Assumindo que você está executando o IE no Vista ou posterior (que parece que desde que você está falando de níveis de integridade), você pode definir o nível de integridade de DebugView a uma integridade mais baixo para qualquer aplicativo pode enviar mensagens para ele:
icacls dbgview.exe /setintegritylevel low
E se você não gosta da ideia de criar permanentemente dbgview à integridade baixo (pode fazer salvar registros e outros enfeites um pouco de dor, como eles só vão entrar na loja de baixa integridade) você pode executar um determinado instância de dbgview em baixa integridade usando a ferramenta psexec
Sysinternals':
psexec -l dbgview
Finalmente, se tudo que você está preocupado é a quantidade de tempo que leva para carregar o depurador VS para anexar ao processo, você pode usar um depurador de linha de comando (como ntsd.exe ou CDB.exe). Ntsd.exe vem com o Windows, mas uma versão mais recente vem com os "Debugging Tools for Windows" pacote , que também inclui o cDB.exe muito semelhante.
Outras dicas
Para que sua testes rápidos, é Visual Studio ainda está em execução? Se assim for, que pode causar este problema.