Debugando DLL
Caros amigos,
Boa tarde
Tenho um projeto que usa procedimentos e funções de uma DLL. Para manipulá-los simultaneamente (meu projeto normal e o projeto da DLL), criei um grupo de projetos. Só que em um determinado ponto do meu projeto (não é a DLL), uso uma das procedures ou funções, mencionadas acima, da DLL. Quero apenas marcar o ponto de parada, que na verdade eu consigo. Só que quando o projeto está em execução e para no ponto, também mencionado acima, não consigo, com F7 (Trace Into) ou clicando no seu respectivo butão, entrar para ir debugando a procedure da DLL passo-a-passo, que é o mais importante. Lembro que já consegui debugar uma DLL normalmente.
Lembro também que tive o mesmo problema posteriormente de não consiguir debugar mais a DLL.
Qual é o problema? Alguém pode me ajudar?
Muito obrigado
Boa tarde
Tenho um projeto que usa procedimentos e funções de uma DLL. Para manipulá-los simultaneamente (meu projeto normal e o projeto da DLL), criei um grupo de projetos. Só que em um determinado ponto do meu projeto (não é a DLL), uso uma das procedures ou funções, mencionadas acima, da DLL. Quero apenas marcar o ponto de parada, que na verdade eu consigo. Só que quando o projeto está em execução e para no ponto, também mencionado acima, não consigo, com F7 (Trace Into) ou clicando no seu respectivo butão, entrar para ir debugando a procedure da DLL passo-a-passo, que é o mais importante. Lembro que já consegui debugar uma DLL normalmente.
Lembro também que tive o mesmo problema posteriormente de não consiguir debugar mais a DLL.
Qual é o problema? Alguém pode me ajudar?
Muito obrigado
Edmarfonseca
Curtidas 0
Respostas
Marcelo Saviski
02/04/2004
tente assim, abra o dpr da dll no delphi, vai em run parameters e informe o executavel que utiliza essa dll, depois rode, quando o programa for chamar uma função da dll, e se v tiver marcado ela, deverá deixar você debugar
pelo menos foi assim que li, mas nunca tentei fazer pra ver se dava certo
pelo menos foi assim que li, mas nunca tentei fazer pra ver se dava certo
GOSTEI 0
Edmarfonseca
02/04/2004
[quote:e82ad498a0=´Marcelo Saviski´]tente assim, abra o dpr da dll no delphi, vai em run parameters e informe o executavel que utiliza essa dll, depois rode, quando o programa for chamar uma função da dll, e se v tiver marcado ela, deverá deixar você debugar
pelo menos foi assim que li, mas nunca tentei fazer pra ver se dava certo[/quote:e82ad498a0]
Cara, obrigado. Funcionou! Só que funcionou na sexta-feira. Hoje, segunda feira, não consigo mais debugar a DLL. Eu e outro amigo do trabalho tivemos o mesmo problema.
Outro detalhe:
Quando você me disse o que tinha que fazer. Fiz. Configurei lá em RUN/PARAMETERS, consegui debugar. Só que parecia que a DLL não correspondia ao projeto. Como assim? Difícil de te explicar. Quando eu ia passo a passo, o cursor ao invés de pular para linhas que continham código, pulava para linhas em branco.
Acontecia isso quando eu programava em CLIPPER se o EXE não fosse correspondente ao PRG.
Vou te dar um exemplo. Imagina o seguinte.
Você tem sua DLL(1) gerada apartir de um projeto. Depois você faz uma mudança no projeto. Compila denovo e daí se gera uma nova DLL(2).
Imagine você debugar seu projeto, que contém novas alterações, com a DLL(1). É mais ou menos assim.
Um abraço
pelo menos foi assim que li, mas nunca tentei fazer pra ver se dava certo[/quote:e82ad498a0]
Cara, obrigado. Funcionou! Só que funcionou na sexta-feira. Hoje, segunda feira, não consigo mais debugar a DLL. Eu e outro amigo do trabalho tivemos o mesmo problema.
Outro detalhe:
Quando você me disse o que tinha que fazer. Fiz. Configurei lá em RUN/PARAMETERS, consegui debugar. Só que parecia que a DLL não correspondia ao projeto. Como assim? Difícil de te explicar. Quando eu ia passo a passo, o cursor ao invés de pular para linhas que continham código, pulava para linhas em branco.
Acontecia isso quando eu programava em CLIPPER se o EXE não fosse correspondente ao PRG.
Vou te dar um exemplo. Imagina o seguinte.
Você tem sua DLL(1) gerada apartir de um projeto. Depois você faz uma mudança no projeto. Compila denovo e daí se gera uma nova DLL(2).
Imagine você debugar seu projeto, que contém novas alterações, com a DLL(1). É mais ou menos assim.
Um abraço
GOSTEI 0
Nildo
02/04/2004
Este problema de pular para linhas que não tem nada a ver é corrigido quando você dá um ´Build All Projects´. Acho que isto resolve seu problema.
GOSTEI 0