Informações sobre o programa de configuração do símbolo de depuração do Windows NT

Traduções de Artigos Traduções de Artigos
Artigo: 138258 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo fornece informações detalhadas sobre como configurar o Microsoft Windows NT símbolo árvores, bem como sugestões de configuração avançada e truques.

Mais Informação

Conteúdo do artigo

  • Informações gerais
  • Configuração personalizada símbolo árvores
  • Processador de processador vs. múltiplo único
  • Personalizar HAL.dll
  • Utilizar símbolos no depurador
  • Verificar os símbolos
  • Verificação de símbolo avançadas
  • Versões seleccionadas

Informações gerais

Ficheiros de símbolo de depuração (símbolos) são necessários para efectuar o kernel e modo de utilizador no Windows NT. símbolos de depuração fornecem uma forma referenciar variáveis globais e funcionar nomes no executável carregado.

Símbolos são produzidos pelo linker. São removidos do produto de revenda e guardadas num ficheiro separado (.DBG). Consideravelmente Isto reduz o tamanho do ficheiro que diminui o tempo de carga de ficheiro e, portanto, aumenta o desempenho do sistema. Também reduz o número de disquetes de instalação. Símbolos representam nomes de função/API e variáveis globais.

O ficheiro .DBG contém informações simbólicas para cada ficheiro. Podem encontrar no CD-ROM de instalação \Support\Debug\[i386 | mips] \Symbols. Também podem ser encontradas no servidor de compilação de NT. A localização é \\Ntbuilds\Release\Usa\Build###\[x86 | mips |alpha]\Fre.srv\symbols.

O directório de símbolos é dividido em sete subdirectórios, designado por extensão de directórios (note que muitos dos ficheiros de símbolos nestes directórios são modo de utilizador):

COM - símbolos para todos os ficheiros terminam em .com clique aqui
Painel de controlo - símbolos para todos os ficheiros terminam em .CPL clique aqui.
DLL - símbolos para todos os ficheiros terminam em .dll clique aqui
DRV - símbolos para todos os ficheiros terminam em .DRV clique aqui
EXE - símbolos para todos os ficheiros que terminam em .exe clique aqui
SCR - símbolos para todos os ficheiros terminam em .SCR clique aqui
SYS - símbolos para todos os ficheiros terminam em .SYS clique aqui.

Símbolos tem de corresponder as versões dos ficheiros:

Símbolos de uma compilação diferente fornecem informações erradas e enviar programadores caçar sombras e desperdício de tempo considerável. Verificação de duplo com o cliente que criar o cliente está em execução e se o cliente tiver quaisquer patches instalados. Ecrã de kernel STOP apresenta o número compilação do kernel.

Patched compilações:

Patched compilações como Service Packs requerem um conjunto especial de símbolos, que é uma combinação de compilação base e os símbolos patched.

Definição de árvores de símbolo personalizada

Lembre-se de que símbolos tem de corresponder os ficheiros instalados no computador de um cliente. Muitas vezes, tem de criar um conjunto personalizado de símbolos apenas para um determinado cliente.

Nota : árvores símbolo completo pode demorar mais de 30 MB de espaço em disco.
  1. Crie um subdirectório para armazenar o conjunto de símbolos de cliente. Por exemplo:

    C:\MYSYMBOLS
  2. Iniciado sempre com o número de versão do Windows NT base. Copie os seguintes ficheiros da instalação do CD-ROM para a versão adequada:

    XCOPY [Unidade de CD] \SUPPORT\DEBUG\I386 C:\MYSYMBOLS/s.
  3. Copie símbolos para os ficheiros binários de Service Pack apropriados através da árvore personalizada. Símbolos de Service Pack podem ser encontrados nos servidores listados na secção abaixo com o título "símbolo locais."
  4. Substitua os patches de terceiros como Compaq SSD símbolos para a árvore de símbolo personalizado. Poderá ser necessário obter estes símbolos a partir do fornecedor. Nota : os passos 3 e 4 poderão ter de ser invertida dependendo da ordem que foram instaladas pelo cliente. Corresponde passos do cliente.
  5. Se o servidor tiver correcções instaladas, terá de obter o símbolo correspondente para esse hotfix. Se um ficheiro de símbolo não for fornecido com a correcção, terá de contactar o suporte técnico da Microsoft para obter informações sobre a disponibilidade destes símbolos. Copie o símbolo actualizado através da árvore de símbolo personalizado. Certifique-se que o coloca na subpasta correcta (por exemplo, Sys, exe, dll, etc..).

Processador de processador vs. múltiplo único

Windows NT utiliza um kernel especial para sistemas SMP. Nome durante a instalação deste kernel é mudado. É importante que mude o também nome ficheiro SYMBOL.DBG de depuração.
NTOSKRNL.EXE NTOSKRNL.DBG = processador único NTKRNLMP.EXE. NTKRNLMP.DBG = Processadores múltiplos

  1. Se tiver um sistema com múltiplos processadores, efectue o seguinte procedimento. Na árvore do símbolo personalizado em \SYMBOLS\EXE existem dois ficheiros de kernel. Mudar o nome NTOSKRNL.DBG para NTOSKRNL.UNI.
  2. Copie NTKRNLMP.DBG para NTOSKRNL.DBG.

Personalizar HAL.dll

Algumas plataformas de hardware requerem um controlador de camada de abstracção de hardware especial. Durante o processo de instalação como o ficheiro de kernel, a HAL personalizada nome se é mudado. Eis uma lista de HAL comuns:

Ficheiros HAL para computadores I386:
              Uncompressed
Filename      Size (bytes) Description
-------------------------------------------------------------------------
HAL.DLL       48,416       Standard HAL for Intel systems
HAL486C.DLL   47,376       HAL for 486 c step processor
HALAPIC.DLL   63,616       Uniprocessor version of HALMPS.DLL
HALAST.DLL    46,416       HAL for AST SMP systems
HALCBUS.DLL   79,776       HAL for Cbus systems
HALMCA.DLL    45,488       HAL for MCA-based systems (PS/2 and others)
HALMPS.DLL    65,696       HAL for most Intel multiprocessor systems
HALNCR.DLL    79,392       HAL for NCR SMP machines
HALOLI.DLL    40,048       HAL for Olivetti SMP machines
HALSP.DLL     52,320       HAL for Compaq Systempro
HALWYSE7.DLL  40,848       HAL for Wyse7 systems

HAL files for DEC Alpha Computers:

              Uncompressed
Filename      Size (bytes) Description
--------------------------------------------------------------------------
HAL0JENS.DLL  56,800       Digital DECpc AXP 150 HAL
HALALCOR.DLL  69,120       Digital AlphaStation 600 Family
HALAVANT.DLL  66,752       Digital AlphaStation 200/400 Family HAL
HALEB64P.DLL  70,528       Digital AlphaPC64 HAL
HALGAMMP.DLL  72,896       Digital AlphaServer 2x00 5/xxx Family HAL
HALMIKAS.DLL  67,040       Digital AlphaServer 1000 Family Uniprocessor
HAL
HALNONME.DLL  65,376       Digital AXPpci 33 HAL
HALQS.DLL     65,088       Digital Multia MultiClient Desktop HAL
HALSABMP.DLL  72,736       Digital AlphaServer 2x00 4/xxx Family HAL

HAL files for MIPS Computers:

              Uncompressed
Filename      Size (bytes) Description
--------------------------------------------------------------------------
HALACR.DLL    43,648       ACER HAL
HALDTI.DLL    68,288       DESKStation Evolution
HALDUOMP.DLL  41,728       Microsoft-designed dual MP HAL
HALFXS.DLL    42,016       MTI with a r4000 or r4400
HALFXSPC.DLL  42,176       MTI with a r4600
HALNECMP.DLL  44,736       NEC dual MP
HALNTP.DLL    116,000      NeTpower FASTseries
HALR98MP.DLL  127,232      NEC 4 processor MP
HALSNI4X.DLL  95,520       Siemens Nixdorf UP and MP
HALTYNE.DLL   68,032       DESKstation Tyne

HAL files for PPC Computers:

              Uncompressed
Filename      Size (bytes) Description
--------------------------------------------------------------------------
HALCARO.DLL   169,504      HAL for IBM-6070
HALEAGLE.DLL  206,208      HAL for Motorola PowerStack and Big Bend
HALFIRE.DLL   136,576      Hal for Powerized_ES,
                                   Powerized_MX, and
                                   Powerized_MX MP
HALPOLO.DLL   169,152      HAL for IBM-6030
HALPPC.DLL    169,184      HAL for IBM-6015
HALWOOD.DLL   95,616       HAL for IBM-6020


Como determinar A HAL para utilizar:

Durante a instalação é criado um ficheiro de registo texto. Este ficheiro pode informar sobre o nome da HAL original.
  1. Vá para o subdirectório %systemroot%\REPAIR.
  2. Execute ATTRIB -R -H -S SETUP.LOG para tornar o ficheiro visível.
  3. Coloque o ficheiro no bloco de notas da Microsoft e procure HAL.
NOTA: Esta mesma técnica pode ser útil para verificar se um especial kernel também é utilizado.

Vá para o símbolo HAL do programa de configuração:
  1. Vá para a árvore de símbolo personalizado em \SYMBOLS\DLL.
  2. Mude o nome HAL.DBG para HAL.X86.
  3. Copie "Personalizar HLL.DBG" para HAL.DBG.

Utilizar símbolos no depurador

Um depurador do Windows NT, como I386KD.EXE, procura de símbolos nas seguintes localizações:
Variável de ambiente do sistema _NT_ALT_SYMBOL_PATH
Variável de ambiente do sistema _NT_SYMBOL_PATH

Estas localizações são definidas através de variáveis de ambiente do sistema. São normalmente configurados por um ficheiro batch de depuração utilizando o comando SET. O _NT_ALT_SYMBOL_PATH é opcional. Por exemplo:
Definir _NT_SYMBOL_PATH = K:\NT35-SP3\SYMBOLS
Definir _NT_ALT_SYMBOL_PATH = c:\WINNT\SYMBOLS

Nota : O directório de símbolos é o directório directamente acima os subdirectórios de extensão (isto é, se o ficheiro de símbolo de kernel, NTOSKRNL.DBG, está localizado em C:\DEBUG\511\I386\SYMBOLS\EXE\NTOSKRNL.DBG. Deve ser definido o _NT_SYMBOL_PATH para C:\DEBUG\511\I386\SYMBOLS

Como utilizar caminhos:

É um boa utilizado estes vários caminhos para manter árvores de símbolo estáticos para cada versão do Windows NT. Basta apontar caminhos os símbolo para cada versão e Service Pack conforme necessário. Por exemplo, para um sistema 1057 com o SP2 instalado pode utilizar o seguinte:
Definir _NT_ALT_SYMBOL_PATH = c:\NT351-SP2\SYMBOLS
Definir _NT_SYMBOL_PATH = K:\NT351-1057\SYMBOLS

O depurador tenta utilizar primeiro os símbolos de Service Pack. [Os símbolos de Service Pack não incluem os símbolos de compilação base neste caso, apenas os símbolos de SP.] Se o depurador não encontrar um símbolo específico na árvore da SP parece-lo na árvore da símbolo 1057.

Ordem de procura:

Os vários caminhos de símbolo são pesquisados pela ordem listada acima. O primeiro ficheiro de símbolo com o nome correcto é detectado é utilizado. No exemplo acima, _NT_ALT_SYMBOL_PATH = c:\NT351-SP2\SYMBOLS é o primeiro procurado.

Substituição de variável de ambiente:

I386KD suporta um parâmetro de linha de comandos "-y" onde pode especificar um caminho de símbolos. No entanto, utilizar este parâmetro substitui as variáveis de ambiente existentes.

Alterar caminho no Fly:

Pode alterar o caminho de procura de símbolos em qualquer altura no depurador emitindo "! Sympath" comando. Por exemplo:
! SYMPATH C:\SYMBOLS.

Verificar os símbolos

! RECARREGAR:

Depois de ter obtido para o "kd >"linha de comandos pela primeira vez, tem de escrever"! RECARREGAR". Isto faz com que as informações simbólicas para ser carregado e sincronizados. Se receber o erro "PsLoadedModuleList é NULL!", tem provavelmente os símbolos errados carregados. Certifique-se que tem o ficheiro HAL.DBG e NTOSKRNL.DBG correcto instalado para o computador que está a ser depurado.

! PROCESSO:

Também podem ser verificados símbolos escrevendo "! PROCESS" Se obtiver o erro, "Não é possível encontrar o processo lista cabeça", tem provavelmente os símbolos errados carregados.

KB:

Se o rastreio de pilha tiver intervalos na lista nome da função, isto indica que faltam símbolos. Falta funções também pode indicar uma pilha danificada mas este é um pouco raro. Duplo Verifique os símbolos antes de declarar uma pilha danificada. Além disso, observe os retorno endereços na pilha. Estes devem ser maiores do que 8000000.

! SYMPATH:

Símbolos incorrectos podem ser corrigidos a outra janela de comandos, copiando os símbolos correctos e efectuando uma! recarregar o depurador ou especificando o caminho correcto com! SYMPATH symbol_path.

Verificação de símbolo avançadas

Por vezes, os clientes não sabem que versões do controlador que têm instalado nos computadores. Talvez eles instalado uma correcção para NTFS mas não souber o número de erro. Poderá ter de determinar manualmente que ficheiros .DBG são necessários.

A melhor forma absolutamente verificar se destino e do dbg correspondência é visualizar os valores de soma de verificação. Este valor é armazenado no cabeçalho do ficheiro.

NOTA: Para mais informações sobre o sistema operativo formato de ficheiro procurar MSDN "Portátil execução ficheiro Format". O cabeçalho PE contém números de versão, ligar date\time, etc..

O plano geral é saber primeiro a soma de verificação dos ficheiros de clientes e, em seguida, localizar um ficheiro dbg que tenha uma soma de verificação correspondente.

Existem várias formas para extrair o chksum o destino e o dbg. Se tiver acesso aos ficheiros, pode utilizar o seguinte. Este exemplo assume que está interessado NTOSKRNL o ficheiro.

LINK32:

Este utilitário poderá encontrar no subdirectório NT criar \MSTOOLS:
LINK32.EXE - DUMP - CABEÇALHOS NTOSKRNL.EXE LINK32.EXE - DUMP - CABEÇALHOS NTOSKRNL.DBG

DUMPBIN:

Este utilitário pode ser encontrado no directório bin C Visual:
DUMPBIN.EXE /HEADERS NTOSKRNL.EXE DUMPBIN.EXE /HEADERS NTOSKRNL.DBG

Se estiver a utilizar um depurador num sistema ou uma informação de falha, pode encontrar a soma de verificação do ficheiro de destino visualizando o cabeçalho do ficheiro na memória.
  1. ! CONTROLADORES - irá dar-lhe endereço base do controlador.
  2. dd baseaddr + d8 L1

Versões seleccionadas

Se instalar versões de depuração seleccionada dos ficheiros do Windows NT terá de efectuar disposições especiais para estes ficheiros de símbolos dbg. Algumas correcções verificado compilações tem as informações simbólicas incorporadas no ficheiro de destino. Nestes casos, efectuar uma cópia do ficheiro e o nome *.DBG. Coloque o ficheiro no directório sub símbolo normal, ou seja, \SYMBOLS\EXE.

Todas as versões de verificação publicamente disponibilizadas tem ficheiros dbg separada tal como as versões livres. No entanto, dbg para versões seleccionadas e livres são diferentes. Por exemplo, o DDK de NT MS contém uma compilação verificada completa do NT. Também contém um símbolo completo pronto a começar com o mesmo.

Nota : verificação de versões do kernel NT são os mesmos para sistemas multiprocessador e uniprocessador.

Símbolo de localizações

Produto de retalho:
CD-ROM \SUPPORT\DEBUG\I386\SYMBOLS
\\NTX86X\FREEBINS.XXX

Propriedades

Artigo: 138258 - Última revisão: 1 de novembro de 2006 - Revisão: 2.1
A informação contida neste artigo aplica-se a:
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 3.1
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Advanced Server 3.1
Palavras-chave: 
kbmt kbusage KB138258 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 138258

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com