Serviços de diagnóstico
A biblioteca Microsoft Foundation classe fornece muitos serviços de diagnóstico que tornar a depuração mais fácil seus programas.Esses serviços de diagnóstico incluem macros e funções global que permitem controlar o memória seu programa de alocações, despejar o Sumário de objetos durante o time de execução e imprimir mensagens de depuração durante o time de execução.As funções global para serviços de diagnóstico e as macros são agrupadas nas seguintes categorias:
Macros de diagnóstico Geral
Variáveis e funções Geral de diagnóstico
Funções de diagnóstico do objeto
Essas funções e macros estão disponível para todas as classes derivadas de CObject nas versões depurar e versão do MFC. No entanto, todas exceto DEBUG_NEW e VERIFIQUE SE não fazer nada na versão de lançamento.
Na biblioteca de depurar, todos os blocos de memória alocada são bracketed com uma série de "bytes protetor." Se esses bytes são perturbados por uma gravar de memória errôneo, as rotinas de diagnóstico podem relatar um problema.Se você incluir a linha:
#define new DEBUG_NEW
no arquivo de implementação, todas as chamadas de novo armazenará o nome de arquivo e o número de linha onde ocorreu a alocação de memória.A função CMemoryState::DumpAllObjectsSince exibirá essas informações extras, permitindo que você identificar vazamentos de memória.Consulte também a classe CDumpContext para obter informações adicionais sobre a saída de diagnóstico.
Além disso, o C em time de execução biblioteca também oferece suporte a um conjunto de funções de diagnóstico que podem ser usadas para depurar seus aplicativos.Para obter mais informações, consulte Rotinas de depurar na referência de biblioteca de time de execução.
Macros de diagnóstico do MFC geral
Imprime uma mensagem e anula o programa, em seguida, se a expressão especificada for avaliada como FALSE na versão de depurar da biblioteca. |
|
Testes de um objeto é um objeto da classe especificada ou de uma classe derivada da classe especificada. |
|
Testa a validade de um objeto interna chamando seus AssertValid membro funcionar; normalmente substituído do CObject. |
|
Fornece um nome de arquivo e a linha número para todas as alocações de objeto no modo de depurar para ajudar a localizar vazamentos de memória. |
|
Semelhante a DECLARAR mas não teste o valor da expressão; útil para código que deve ser executado somente em modo de depurar. |
|
Fornece printf-como o recurso na versão de depurar de biblioteca. |
|
Semelhante a DECLARAR mas avaliará a expressão na versão de lançamento da biblioteca, bem sistema autônomo na versão de depurar. |
Funções e variáveis de diagnóstico do MFC geral
Variável global que envia CDumpContext informações para a janela de saída do depurador ou para o terminal de depurar. |
|
Variável global que controla o comportamento do alocador de memória a depuração. |
|
Variável global usado para testar o passado SCODE para ver se é um erro e, em caso afirmativo, lança o erro apropriado. |
|
Verifica que a integridade de todos os memória alocada no momento. |
|
Se chamado enquanto no depurador, despejos de estado de um objeto durante a depuração. |
|
gerar uma imagem da pilha corrente.Esta função está sempre vinculada estaticamente. |
|
Ativa o acompanhamento e desativar da memória. |
|
Verifica um bloco de memória foi alocado corretamente. |
|
Verifica se um intervalo de endereços de memória está dentro dos limites do programa. |
|
Determina se um ponteiro para uma seqüência de caracteres é válido. |
|
Permite que a chamada de uma função em cada alocação de memória. |
Funções de diagnóstico de objeto do MFC
Executa uma função especificada em todos os CObject-derivadas de classes que oferecem suporte a verificação de tipos em time de execução. |
|
Executa uma função especificada em todos os CObject-derivado objetos que foram alocados com novo. |