Rastreamento

Tracing features permite a emulação passo a passo de Native Code e P-Code do Visual Basic 5.0/6.0. É necessária uma licença com recursos de rastreamento. O rastreador trabalha com a representação interna do procedimento no emulador; ele não executa o procedimento na CPU da estação de trabalho.

Iniciar um rastreamento

  1. Abra um procedimento VB5/6 e mantenha os endereços visíveis na lista.
  2. No comando a ser investigado, invoque Rastrear para este endereço (Trace to this address) no menu de contexto do código, ou pressione F4.
  3. Inspecione as visualizações de código e estado do rastreador e avance usando Next. Encerre o rastreamento ao concluir a análise.

A partir da versão 26.4, o comando pode resolver o endereço inicial loc_ após remover espaços em branco no início da linha. Você pode posicionar o cursor em outro lugar naquela linha, em vez de precisamente no rótulo do seu endereço.

Rastreador de Native Code com código e estado emulado

Estado do Código Nativo

O rastreador expõe registradores de CPU e FPU, a pilha, variáveis e o código reconstruído conforme a emulação avança. Use essas visualizações para examinar como um valor ou expressão foi derivado. A busca na lista de variáveis e exibição do tipo recuperado do objeto atual podem ajudar com procedimentos maiores.

Rastreamento de P-Code

O rastreamento de P-Code, introduzido na versão 11, mostra como as informações de variáveis e instruções descompiladas evoluem durante o processamento. Esse recurso pode ajudar a explicar diferenças entre as operações intermediárias de P-Code e a lista de alto nível otimizada.

Escopo e limitações

  • O rastreamento se aplica a um procedimento individual. Ele começa com um estado vazio dos registradores emulados, da pilha e das variáveis, em vez do estado de um processo em execução.
  • Instruções de Código Nativo não suportadas podem ser ignoradas. Chamadas de funções externas não são executadas; o tratamento de convenções de chamada suportado pode ajustar a pilha modelada sem reproduzir o comportamento da função externa.
  • O rastreador não fornece uma visualização completa de flags do processador. Não interprete seu estado como um rastreamento completo de execução de hardware.
  • O modelo documentado é emulação passo a passo para frente, sem rastreamento reverso ou execução repetida de iterações de loops.
  • Este fluxo de trabalho descreve o rastreamento VB5/6. A presença da desassemblagem .NET não implica um depurador de tempo de execução .NET.

Use o rastreamento para investigar a reconstrução do descompilador e valores intermediários. Um valor emulado por si só não estabelece o valor produzido por um processo real com globais inicializados, dependências externas e dados de entrada.