使用c ++ dll进行Visual Studio 2005 VB调试 - 混合语言调试

时间:2009-01-26 11:40:24

标签: c++ debugging visual-studio-2005 mixed

我有一个调用dll函数的vb项目。 dll是在一个单独的vs项目(portaudio)中创建的,该项目用c。

编写

dll c项目编译干净并构建所需的dll,我目前正在c:\ windows \ system下载到vb运行时可以看到它。

VB项目位于c:\ devprojects \ vbtest

C项目位于c:\ devprojects \ portaudio中,项目文件位于c:\ devprojects \ portaudio \ build \ msvc中。在此msvc目录下的Win32 \ debug中创建的DLL。

当我调用dll函数时,vs调试器是否可以逐步执行dll中的c函数 - 我有所有代码等,但我不知道VS2005是否支持这种混合语言调试。

如果可以的话,您能告诉我应该如何设置Visual Studio来实现这一目标。

非常感谢 大卫

3 个答案:

答案 0 :(得分:4)

没有必要在同一个解决方案中同时拥有这两个项目,但是您应该在启用了调试符号的情况下编译这两个项目。

现在,在VB网络解决方案Project / Properties中,在Debug选项卡中确保选中“启用非托管代码调试”。

还要确保加载的dll与编译它的位置相同,否则可能找不到存储调试符号的pdb。

答案 1 :(得分:0)

使用两个项目创建解决方案,使用“添加引用...”对话框将VB项目中的引用添加到C项目 - >将它们全部调试并以调试模式构建。

你如何从VB调用C dll?

答案 2 :(得分:0)

如果它的VB.NET那么这很容易,只需设置一个解决方案,在它下面的两个项目,设置它们的依赖关系,并确保在构建VB项目的调试版本链接到从中生成的调试lib / dll你的C ++项目。 Visual Studio完成剩下的工作。

我已经在C#应用程序调用C ++ dll之前做了几次。我不打算设置它,但尝试逐步调试,假设我会得到汇编列表,并且至少可以解决我的代码出错的问题...但是它加载了正确的.cpp文件和让我继续踩过那段代码。