Como depurar uma “falha de declaração de depuração” no VC ++ 6
-
05-09-2019 - |
Pergunta
Gostaria de saber como depurar o seguinte erro:
Debug Assertion failure
Program: tomtoprog.exe
File: dbgheap.c
Line: 1044
Expression:_CrtIsValidHeapPointer(pUserData)
...
Eu estou quieto novo no desenvolvimento do Windows com VC ++ 6 ... há uma valgrind ou algo parecido? O código tomtoprog não é escrito por mim e seu pouco confuso ... então algo como valgrind iria fazer o meu caminho vida mais fácil ...
Agradecemos antecipadamente!
Com os melhores cumprimentos,
Zhengtonic
Solução
Parece que você quer ter corrupção de pilha ou você está fazendo um double livre do mesmo ponteiro. Se você invadir o depurador que é a última linha de seu código que está sendo chamado quando o assert ocorre?
A melhor maneira de verificar problemas como este é usar uma pilha página verificador como PageHeap.exe
Veja também esta pergunta relacionada no estouro de pilha
Outras dicas
Hit 'Repetir', e ele vai invadir o depurador. Isso vai dar-lhe a pilha de chamadas. De lá, você pode encontrar a parte do seu código que está em falta.
Dica:. Você provavelmente excluir / free-ing algo duas vezes