Visual depuração VB Studio 2005 com c ++ dll - Mixed depuração Idioma
-
20-08-2019 - |
Pergunta
Eu tenho um projeto vb que chama funções em uma dll. A dll é criado em um separado vs projeto (PortAudio), que é escrito em c.
O projeto dll c compila limpa e constrói a dll necessária, o que estou actualmente a cair em c:. \ Windows \ system para vb tempo de execução pode vê-lo
VB Projeto vive em c: \ devprojects \ vbtest
C Projeto vive em c: \ devprojects \ PortAudio com o arquivo de projeto em c: \ devprojects \ PortAudio \ build \ msvc. Dll criado em Win32 \ debug neste diretório msvc.
Quando eu chamar a função dll, é possível para o vs depurador para percorrer a função c na dll - Eu tenho todo o código etc, mas eu não sei se VS2005 suporta este tipo de depuração linguagem mista.
Se isso for possível, você poderia aconselhar como devo montar o meu Visual Studio para alcançar este objectivo.
Muito obrigado David
Solução
Não é necessário ter ambos os projetos na mesma solução, mas você deve compilar ambos os projetos com símbolos de depuração habilitado.
Agora, em sua solução líquida VB Projeto / Propriedades, na Debug guia verifique se "Ativar depuração de código não gerenciado" está marcada.
Certifique-se também que a dll carregado está no mesmo lugar onde ele foi compilado, então ele pode não encontrou o pdb, onde os símbolos de depuração são armazenadas.
Outras dicas
Criar uma solução com dois projetos, adicionar a referência no projeto VB para projeto C usando 'Adicionar referência ..' diálogo -.> Project e construir-los todos em modo de depuração
Como você chama C DLL do VB?
Se o seu VB.NET, então isso é muito fácil, basta configurar uma solução com dois projetos sob ele, criar as suas dependências e garantir que em construir a versão de depuração dos links do projeto VB para a depuração lib / dll produzido a partir de o C ++ projeto. Visual Studio faz o resto.
Já fiz isso antes de um par de vezes com C # aplicações chamar uma DLL C ++. Eu não tinha a intenção de definir isso, mas tentou percorrendo enquanto depuração assumindo que eu iria receber o listando montagem e poderia, pelo menos, trabalho fora somethig do que estava acontecendo de errado com o meu código ... no entanto, ele carregou o arquivo .cpp correta e permitiu-me para continuar percorrendo esse código.