Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
O depurador do Visual Basic 5.0 permite que você depurar seu código em tempo de design antes de compilá-lo em um .exe, .dll ou .ocx. Se você está depurando componentes COM criados pelo Visual Basic, você pode depurá-los fora de processo executando vários projetos na mesma instância do Visual Basic 5.0, ou executando instâncias separadas do Visual Basic 5.0 com o cliente em execução em um e o componente COM em execução no outro.
Se você deseja depurar os componentes após eles são compilados, você não poderá usar o depurador do Visual Basic 5.0 porque ele só será depurá-los em tempo de design. Para depurar um componente compilado do Visual Basic, você precisará usar a funcionalidade do depurador Visual C++ 5.0. A seguir estão situações quando pode precisar depurar um componente compilado do Visual Basic:
Se você estiver criando um controle ActiveX para uso em um recipiente diferente do Visual Basic 5.0.
em um ambiente de execução do aplicativo, como o Microsoft Transaction Server onde você tem apenas permissão para executar .DLLs compilado.
Se suspeitar que o componente do Visual Basic está se comportando diferente em tempo de design que ele é compilado.
Este artigo explica como fazer isso no ambiente do Microsoft Developer Studio. Você precisará ter o Visual Basic 5.0 e Visual 5.0 C++ instalado na máquina de desenvolvimento siga este exemplo.
As etapas a seguir pressupõem que você já tenha um EXE padrão criado pelo Visual Basic 5.0 (.exe), ActiveX DLL (.dll), EXE ActiveX (.exe) ou controle ActiveX (.ocx) que você deseja depurar.
No Visual Basic 5.0, abra o projeto Visual Basic que você deseja depurar. No menu ' arquivo ', escolha criar <yourproject>.exe. Clique no botão Opções e selecione a guia Compile Compile escolha para código nativo e criar informações de depuração simbólico. Em seguida, selecione OK e OK novamente para compilar seu componente.
No menu Arquivo do Visual C++ 5.0, escolha abrir espaço de trabalho. Na caixa de diálogo Abrir do espaço de trabalho, definida arquivos do tipo como files(*.*) all e selecione seu componente compilado.
Novamente a partir do menu Arquivo do Visual C++ 5.0, escolha Open (Workspace não abrir) e abra o módulo do Visual Basic (.bas), o formulário (.frm) ou a classe (CLS) que você deseja depurar. Definir pontos de interrupção (F9), relógios, etapa por instruções, etc., que você faria para um programa normal. Também convém exibir informações de variáveis no ambiente de depuração indo até o menu Ferramentas do Visual C++ 5.0, selecionando opções e, em seguida, selecionando a guia Debug. Na guia Debug, coloque uma verificação ao lado para exibir seqüências de unicode.
Variáveis em um thread separado não podem ser vistas. Um exemplo seria um segmento de plano de fundo com um .ocx ou um segmento de plano de fundo vb ocultos. Globais do Visual Basic são por compartimento ou thread único, portanto, você não os verá na pilha se ele estiver em outro thread.
EXE padrão: No menu Build no Visual C++ 5.0, selecione Iniciar depuração e ir ou pressione a tecla F5. Quando seu componente compilado do Visual Basic alcança a linha que você definir um ponto de interrupção em, ele irá parar no Visual C++ 5.0 e permitem executar operações normais de depuração.
ActiveX EXE, DLL ou OCX: IT é um pouco diferente para DLLs em que você precisa especificar um exe para depurar com. Para fazer isso, no menu Project, selecione configurações e, em seguida, clique na guia Debug. No executável para sessão de depuração a caixa de texto especifique o arquivo .exe que faz referência a .dll. Agora siga a etapa 4a que iniciará o executável e o .dll e o depurador do Visual C++ 5.0 virá até onde você definir o ponto de interrupção no seu .dll.
DLL ActiveX executando sob Microsoft Transaction Server (MTS): Para configurar isso, selecionadas configurações do Visual C++ 5.0 Project menu e clique na guia Debug. No executável para caixa de texto de sessão de depuração, especifique MTX.EXE. Então, na caixa de texto de argumentos do programa coloque /p: {00000000-0000-0000-0000-000000000000} onde você substituiria o 0 com a identificação do pacote MTS real. A identificação de pacote pode ser obtida examinando as propriedades do seu pacote no Transaction Server Explorer. Etapa seguinte 4a acima do qual iniciará MTX.EXE e sua DLL. Agora execute o .exe de base do cliente faz uma chamada em seu COM componente em execução no MTS e o depurador do Visual C++ 5.0 chegarão até onde você definir o ponto de interrupção no seu .dll.
A dll está sendo chamada no caminho do sistema?
Ter você acidentalmente registrados dll do objeto com, remover, assim, as alterações de MTS no registro?
Você pode ter várias cópias de seu objeto com dll layout ao redor e você está definindo pontos de interrupção em um que não é carregado?
Da mesma forma para 3, talvez você ter várias cópias de sua dll não-com layout ao redor?
Houve um truque aparentemente muito burro que era que você deve copiar sua DLL com informações simbólicas para o MTS e diretório a partir daí adicionar essa DLL como um pacote para o MTS explorer. Se você não fizer isso, depuração simbólica dentro do MTS componente não funciona.
Além disso, certifique-se de que eliminar todos em execução mtx.exe antes de iniciar a cópia no depurador. Quando você inicia-lo, é executado ou não desligar imediatamente? Observe quaisquer mensagens de log de eventos registradas pelo MTS. Para iniciar a partir um ponto de partida seguro, você talvez queira completamente exclua seu aplicativo e, em seguida, recriá-lo, reinstale o dll do componente, etc..
DLL de ActiveX executando em Internet Information Server (IIS): Como o IIS é executado como um serviço NT, será necessário dar a você mesmo permissão para agir como parte do sistema operacional. Para fazer isso, vá para NT ferramentas administrativas e selecione Gerenciador de usuários. Se você estiver usando o Gerenciador de usuários para domínios do NT Server, verifique se que você tiver selecionado seu nome de computador como o domínio no menu Arquivo. Em seguida, escolha os direitos de usuário no menu de diretivas. Na caixa de diálogo direitos do usuário, coloque uma verificação ao lado de Mostrar direitos avançados do usuário e selecione "Funcionar como parte do sistema operacional" na caixa de combinação. Clique no botão Adicionar e digite "domainxxx\userxxx" na área de texto ou selecione seu nome de usuário na caixa de listagem. Clique em OK e agora você deve ter os privilégios corretos. Para iniciar a sessão de depuração no Visual C++ 5.0, vá para o menu Build, selecione iniciar Debug e Attach to Process. Colocar uma verificação ao lado de Mostrar processos do sistema, em seguida, selecione inetinfo e clique em OK. Agora carrega um arquivo de .htm ou .ASP de cliente que será fazer uma chamada para o componente ActiveX. Se você seguir as instruções na etapa 3 acima, você deve agora poderá percorrer seu código do Visual Basic.
Observação -foi observado que seguindo as diretrizes na etapa d 4 deste artigo, o ponto de interrupção não é atingido. Após algumas tentativas, que você pode achar que, em ordem para o ponto de interrupção ser atingido, é necessário carregar a DLL que está sendo depurado em DLLs adicionais as configurações de projeto. Além disso, o ponto de interrupção não é atingido na primeira vez que a página HTML é chamada, a menos que você defina o ponto de interrupção após anexar ao processo tenha sido feito. Ela foi testada em Windows NT 4.0 Workstation SP3 com Peer Web Services e o Visual Studio SP2.
Outro recurso do Visual C++ é a capacidade de processo cruzado e depuração entre máquinas. Se você estiver executando em um depurador e chama um arquivo .dll que tem informações de depuração, ele iniciará automaticamente outra instância do depurador e a fonte para que você pode depurar nela.
Observe que, se o .exe é compilado otimizada para velocidade ou tamanho, linhas de código inativo serão ser compiladas out of o projeto.
A informação contida neste artigo aplica-se a:
Microsoft Visual Basic 5.0 Professional Edition
Microsoft Visual Basic 6.0 Professional Edition
Microsoft Visual Basic 5.0 Enterprise Edition
Microsoft Visual Basic Enterprise Edition for Windows 6.0
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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 166275
(http://support.microsoft.com/kb/166275/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
Diga-nos o porque e o que podemos fazer para melhorar esta informação
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.