Encontrar símbolos para arquivo de origem C ++
Pergunta
Eu tenho um projeto que é o projeto C ++ Win32. Eu encontrei um problema que algum símbolo pode ser reconhecido pelo windbg mas alguns não. Eu não sei porquê. As características são:
1) são ambos C ++ método
2) tanto a função estão em um arquivo .cpp
3) as duas funções são muito próximos no arquivo de origem e nenhum de eles são delimitados por um #ifdef
4) Eu tenho usado dbh.exe para verificar o símbolo, o símbolo em falta no windbg também não está no arquivo PDB.
Eu estou supondo que se o símbolo em falta pode, devido à herança da classe? Por favor, sugerem, obrigado! Bin
Solução
Se você não usar uma função, desde que ele não é uma função virtual, que pode ser deadstripped pelo vinculador. objetos de dados globais não utilizados podem ser deadstripped também.
Outras dicas
é a função cada vez chamado?
Pode ajudar a dar mais alguns detalhes sobre por que você pensa que é "devido à herança da classe"
Parece que o código-fonte pode ser incompatível com os arquivos PDB.
Talvez a função foi adicionada após o arquivo PDB foi gerado?
Você pode validar isso:
- Adicionar um ponto de ruptura a uma linha de código que você sabe que vai ser executado.
- Passo através do código e garantir que o depurador não parar em todas as linhas em branco de código (isto implicaria uma incompatibilidade entre o código eo arquivo PDB).
A primeira coisa que eu sugiro é para reconstruir o código fonte para ver se isso resolve o problema.
Se isso não funciona, por favor fornecer mais informações para nos permitir ajudar a diagnosticar este projecto.