logo
Contato | Sobre...        
rebarba rebarba

Rodrigo Strauss :: Blog

follow us in feedly

Fazendo o WinDbg entender o arquivo PDB compilado pelo Visual C++ em DEBUG

Eu já apanhei bastante com erros do tipo "type information missing" no Windbg, tentando fazer debug de executáveis ou DLLs compilados em versão DEBUG com o VC6. O PDB gerado pelo VC6 - quando você compila em DEBUG - não é compatível com o WinDbg. Depois de várias tentativas e algumas perguntas no grupo de WinDbg gringo, consegui encontrar uma solução definitiva. Segue a receita de bolo:

  • Primeiro você precisa configurar o VC para gerar o PDB. Meu artigo sobre WinDbg explica como fazer isso;
  • Coloque a configuração "Debug Info" exatamente como manda o artigo. Ao invés de "Program Database for Edit and Continue", a configuração deve ser "Program Database". O Edit and Continue é um dos motivos do PDB não ser entendido pelo WinDbg;
  • Entre na aba "Link" do "Project Settings" e adicione "/pdbtype:con /EDITANDCONTINUE:no" na parte de "Project Options", logo depois de todos os outros flags que já estão configurados. Isso vai garantir que o "Edit And Continue" estará desabilitado e que todas as informações de debug estarão dentro do PDB gerado.

Pronto. Agora é só dar um rebuild no projeto, o PDB gerado será compatível com o WinDbg.


Em 18/11/2005 15:00, por Rodrigo Strauss


  
 
 
Comentários
Wanderley Caloni Junior | website | e-mail | em 18/11/2005 | #
Isso é muuuuuuuuuito bom. Só não ganha do "Como evitar os step-ins do Debug do VC dentro do ATL/STL".
Wanderley Caloni | website | e-mail | em 30/11/2006 | #
Novo adendo: atualmente a última versão do WinDbg reconhece perfeitamente os símbolos gerados pelo Visual Studio 2005 com a configuração padrão (edit and continue).
Algo a dizer?
Nome:


Site:


E-mail:


Escreva o número vinte e seis:


 Não mostre meu e-mail no site, não serve pra nada mesmo...

Comentário





Os comentários devem ser sobre assuntos relativos ao post, eu provavelmente apagarei comentários totalmente offtopic. Se quiser me enviar uma mensagem, use o formulário de contato. E não esqueça: isso é um site pessoal e eu me reservo o direito de apagar qualquer comentário ofensivo ou inapropriado.
rebarba rebarba
  ::::