Compartilhar via


Usando um servidor de origem

Um servidor de origem permite que o depurador recupere automaticamente os arquivos de origem que correspondem ao destino atual. Para usar um servidor de origem, você deve estar depurando binários que foram indexados de origem no momento do build e cujos locais de arquivo de origem estão inseridos nos arquivos PDB.

As Ferramentas de Depuração para Windows incluem o servidor de origem SrcSrv (Srcsrv.exe).

Usando srcSrv com um depurador

O SrcSrv pode ser usado com WinDbg, KD, NTSD ou CDB.

Para usar o SrcSrv com o depurador, insira o comando a seguir para definir o caminho de origem como srv*.

.srcfix

Você pode obter o mesmo resultado inserindo o comando a seguir.

.srcpath srv*

Definir o caminho de origem como srv* informa ao depurador que ele deve recuperar arquivos de origem de locais especificados nos arquivos de símbolo dos módulos de destino.

Se você quiser usar o SrcSrv e também incluir uma lista de diretórios no caminho de origem, use ponto e vírgula para se separar srv* de qualquer diretório que esteja no caminho.

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.

Você também pode usar .srcfix+ para acrescentar srv* ao caminho de origem existente, conforme mostrado no exemplo a seguir.

3: kd> .srcpath c:\mySource
Source search path is: c:\mySource
3: kd> .srcfix+
Source search path is: c:\mySource;SRV*

Se um arquivo de origem for recuperado pelo servidor de origem, 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 do depurador; ele pode ser alterado usando a extensão !homedir ou definindo a variável de ambiente DBGHELP_HOMEDIR. Se esse subdiretório ainda não existir, ele será criado.

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 obter informações sobre como indexar suas fontes ou se você planeja criar seu próprio módulo de provedor de controle do código-fonte, consulte SrcSrv.

Usando AgeStore para reduzir o tamanho do cache

Todos os arquivos de origem baixados pelo SrcSrv permanecerão 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.