Pergunta

Eu sou um engenheiro de escalonamento em um produto que uso tanto C # e Delphi 2006 código.

Na maioria dos casos C # questões são depurados com WinDbg e Delphi 2006 problemas com EurekaLog .

Mas quando o assunto é a utilização da memória Delphi, EurekaLog não dá informações suficientes para corrigir o problema, ea única coisa que eu tenho para depurá-lo é um arquivo de despejo de memória completo.

Eu não pode (ou não sei como) carregar o arquivo de símbolo no WinDbg, porque é um arquivo .map e não um arquivo .pdb.

Então, minhas perguntas são:

  • Como faço para carregar os símbolos de um arquivo .map no WinDbg? (Conversão .map para .pdb ou outro.)

  • Existe uma ferramenta para analisar o arquivo de despejo para uma aplicação Delphi?

Foi útil?

Solução

Para converter de Mapa para símbolos DBG:
- Get Map2Dbg.exe de http://code.google.com/p/map2dbg/
- Coloque Map2dbg na mesma pasta como YourApp.exe e seu arquivo de mapa
- Executar: map2dbg.exe YourApp.exe

Você deve obter um arquivo YourApp.dbg para uso com ferramentas da Microsoft ....

Outras dicas

Além tds2pdb (ver o meu comentário sobre map2dbg) você também pode usar o meu visualizador de minidespejo em programas Delphi: https://github.com/andremussche/asmprofiler/blob/ master / Fonte / MiniDumpReader / ViewMinidump.exe .

Em seguida, você não precisa de se converter ao .dbg ou .pdb, mas ele lê diretamente vários arquivos de depuração Delphi (.map, .tds / .td32 e j.dbg).

A última versão do cv2pdb ferramenta pode converter os DBGS feitos com map2dbg em arquivos PDB.

Então, se você tiver feito previamente seus DBGS assim: map2dbg App.exe

Basta adicionar este comando depois: cv2pdb-s. App.exe

-s. parâmetro é necessário separar os nomes de métodos dos nomes de classe com um ponto.

cv2pdb construído para Win32 sobre as fontes atuais podem para baixado aqui .

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