Usando SrcSrv
Para usar o SrcSrv com WinDbg, KD, NTSD ou CDB, verifique se você instalou uma versão recente do pacote ferramentas de depuração para Windows (versão 6.3 ou posterior). Em seguida, inclua o texto srv*
no caminho de origem, separado por ponto-e-vírgula de quaisquer diretórios que também estejam no caminho de origem.
Por exemplo:
.srcpath srv*;c:\someSourceCode
Se o caminho de origem for definido conforme mostrado no exemplo anterior, o depurador primeiro usará srcSrv para recuperar arquivos de origem de locais especificados nos arquivos de símbolo dos módulos de destino. Se o SrcSrv não puder recuperar um arquivo de origem, o depurador tentará recuperá-lo de c:\someSourceCode. Independentemente de srv* ser o primeiro elemento no caminho ou aparecer posteriormente, o depurador sempre usa SymSrv antes de pesquisar outros diretórios listados no caminho.
Se um arquivo de origem for recuperado pelo SrcSrv, ele permanecerá no disco rígido após o fim da sessão de depuração. Os arquivos de origem são armazenados localmente no subdiretório src do diretório base (ao contrário do servidor de símbolos, o servidor de origem não especifica um cache local na srv*
própria sintaxe). O diretório base usa como padrão o diretório de instalação ferramentas de depuração para Windows; ele pode ser alterado usando a extensão !homedir ou definindo a variável de ambiente DBGHELP_HOMEDIR. Se o subdiretório src do diretório base ainda não existir, ele será criado.
Depurando SrcSrv
Se você tiver problemas para extrair os arquivos de origem do depurador, inicie o depurador com o parâmetro de linha de comando -n para exibir os comandos reais de extração de origem junto com a saída desses comandos. O comando !sym barulhento faz a mesma coisa, mas talvez você já tenha perdido informações importantes de tentativas de extração anteriores. Isso ocorre porque o depurador desiste de tentar acessar a origem de repositórios de controle de versão que parecem estar inacessíveis.
Recuperando arquivos de origem
Se você usar o comando .open (Open Source File) para abrir um novo arquivo de origem por meio do SrcSrv, deverá incluir o parâmetro -m Address.
Para facilitar o uso do SrcSrv de ferramentas diferentes dos depuradores listados anteriormente, a API DbgHelp fornece acesso à funcionalidade SrcSrv por meio da função SymGetSourceFile . Para recuperar o nome do arquivo de origem a ser recuperado, chame a função SymEnumSourceFiles ou SymGetLineFromAddr64. Para obter mais detalhes sobre a API DbgHelp, consulte a documentação dbghelp.chm, que pode ser encontrada no subdk/subdiretório de ajuda do diretório de instalação das Ferramentas de Depuração para Windows ou consulte Biblioteca de Ajuda de Depuração.
Usando AgeStore para reduzir o tamanho do cache
Todos os arquivos de origem baixados pelo SrcSrv permanecem no disco rígido após o fim da sessão de depuração. Para controlar o tamanho do cache de origem, a ferramenta AgeStore pode ser usada para excluir arquivos armazenados em cache mais antigos do que uma data especificada ou para reduzir o conteúdo do cache abaixo de um tamanho especificado. Para obter detalhes, consulte AgeStore.