Pergunta

Eu estou usando ASSERTE macro para verificar se há pré-condições. De acordo com a sua definição está usando ASSERT_BASE, que por sua vez chama _CrtDbgReportW para imprimir a mensagem. Onde é que a saída _CrtDbgReportW vai para?

Eu diria que se o aplicativo é iniciado a partir de depurador, seria ir para a janela depurador. Onde é que as mensagens vão se ele não está sob depurador?

Foi útil?

Solução

A saída para _CrtDbgReportW depende como você configurá-lo. Por padrão, ele envia para o OutputDebugString API.

Os depuradores armadilha a saída OutputDebugString e, normalmente, exibi-los na janela do depurador como você sugere.

Há também aplicativos que interceptar a saída como DebugView que você pode usar para aplicações de PC.

Update: eu perdi o bit Windows Mobile. Eu ainda beleave que é a saída para o OutputDebugString mas eu não sei de qualquer aplicativo de terceiros que obras. A única maneira que eu conheço para interceptar a saída OutputDebugString sob Windows Mobile é usar a depuração Funções DebugActiveProcess / WaitForDebugEvent para interceptar os eventos OUTPUT_DEBUG_STRING_EVENT e gravá-los em algum lugar

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top