是否可以同时调试 VB6 和 C++ COM dll?
Posted
技术标签:
【中文标题】是否可以同时调试 VB6 和 C++ COM dll?【英文标题】:Is it possible to simultaneously debug VB6 and a C++ COM dll? 【发布时间】:2011-02-07 23:15:54 【问题描述】:我有一个由 VB6 前端加载的 VB6 dll。此 VB6 dll 通过其 COM 接口调用 C++ ATL dll。因此,我可以从 VB6 中的代码运行,也可以在 C++ 中进行调试,但是我似乎无法单步执行 VB6 代码然后进入 C++ 代码。我觉得这应该是可能的。目前我正在执行以下步骤
-
开始VB6调试
开始 C++ 调试。这包括启动 VB6 前端并使用选项中的 VS2008 调试属性将工作目录设置为 VB6 前端目录。
执行代码并逐步执行 VB6 代码,直到我应该输入 C++ 代码。我看到加载的符号窗口在 VS2008 IDE 中发生了变化。
现在,它看起来应该可以工作了,但我从未在我的 C++ 代码中遇到任何断点。如果我不先启动 VB6 调试,我会遇到断点。
【问题讨论】:
【参考方案1】:您应该能够将 vb6.exe 设置为 C++ 项目的启动程序并开始调试。然后在VB6中,打开工程,开始调试。
【讨论】:
【参考方案2】:确保两个项目的 PDB 文件都可用于您的调试器。如果你看到 。加载了'\filename',在debug out中没有找到匹配的符号信息,需要在tools->optios->debug->symbols中添加调试符号搜索路径。
【讨论】:
以上是关于是否可以同时调试 VB6 和 C++ COM dll?的主要内容,如果未能解决你的问题,请参考以下文章
试图在 VB6 的 C++ DLL 中显示 UI 会导致在 AfxGetResourceHandle 处断言