【问题标题】:Need to debug VB 6 DLL in VC++ code需要在 VC++ 代码中调试 VB 6 DLL
【发布时间】:2018-11-27 10:10:45
【问题描述】:

我有一个用 VB 6.0 开发的 ActiveX 控件。我有 VC++ 代码,它承载了 activeX 控件。 我需要在 VC++ 中调试 ActiveX 控件代码而不转换为 .NET。 筛选整个activeX文件夹后,没有用于ACTIVEX控件的PDB。

问题:

  • VB 6.0 的 ActiveX 控件代码会有 PDB 的(实际上我在输出目录中找不到相同的。
  • 如果没有,那么如何从 VC++ 代码调试 activeX 代码。注意我有源代码和 DLL。我没有VB 6.0环境,无法编译源代码。

【问题讨论】:

  • 您将使用 VB6 开发环境 (IDE) 来调试用 VB6 编写的 ActiveX 控件。您需要获得 VB6 才能执行此操作。

标签: .net vb.net visual-c++ mfc vb6


【解决方案1】:

用 VB6 编译的代码不提供“PDB”文件,因为它实际上不打算在 VB6 IDE 之外进行调试。虽然您可以在没有任何符号或其他帮助的情况下进行一些直接调试,就像您可以使用任何符号不可用的程序一样,但这肯定不是一件容易的事。

标准方法是使用真正的 VB6 IDE 来加载项目文件,并使用其调试器。您通常会与嵌入组件的主机分开调试组件,尽管可以在 IDE 中使用debug the component,而主机容器正在使用它。

【讨论】:

  • 而且...如果您尝试使用 Windbg 之类的东西,并且项目属性是编译为 P 代码(而不是本机代码),那么您正在调试的是 vb 运行时p 代码解释器,而不是实际的应用程序代码!
  • FWIW Project -> Props -> Compile -> Create symbolic debug info 将为项目生成一个 PDB。
  • @AlexK。谢谢你的提示。自从我真正打开 VB6 IDE 以来已经有好几年了。随意用这些信息写下你自己的答案;看起来很有用。
猜你喜欢
  • 1970-01-01
  • 2011-10-31
  • 1970-01-01
  • 2014-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多