vb6 - 如何在Outlook属性页OCX上使用VB6调试器?

标签 vb6 outlook debugging

使用 VB6,我创建了一个 Outlook 插件,它有一个属性页。属性页是一个OCX控件。

当我将项目编译为 OCX 文件,然后运行 ​​OUTLOOK 时,一切正常:我可以在 Outlook 选项中将 OCX 视为选项卡。

但是,当我尝试通过在 VB6 中运行 OCX 进行调试时,出现错误。我的调试是这样开始的: 1) 调试选项设置为“等待组件被创建” 2) VB6 中的 F5-RUN 项目。 3) 启动 Outlook。 4) 出现错误:“无法显示“MyOcx”页面。此页面将保持可见,但不可用。发生 OLE 注册错误。程序未正确安装。再次运行该程序的安装程序”

我怀疑这是因为,在调试时,OCX 是在进程外创建的,而 Outlook 不喜欢这样。

在这种情况下,有没有好的技术可以在 OCX 上使用 VB6 调试器?

最佳答案

在调试 DLL 或 OCX 时,VB6 调试器有时会不稳定。

  • 你可以尝试Windbg ,来自 Microsoft 的免费独立调试器。将 VB6 OCX 编译为 native 代码,无需优化并“创建符号调试信息”(即创建 PDB 文件),然后您将能够在 Outlook 中调试 OCX 进程内。这是 2006 blog post由一位 Microsoft 人员介绍如何将 Windbg 与 VB6 结合使用,以及 2004 blog post另一位 Microsoft 人员对 Windbg 进行了简要介绍。
  • 您还可以将 Visual Studio 2008 调试器与 VB6 和 PDB 文件结合使用,例如与 Visual C++ Express Edition (这是免费的)。编辑参见Kris's answer更多细节。
  • 编辑:Windbg 和 Visual Studio expect源代码在调试计算机上的路径与构建 OCX 时在构建计算机上的路径完全相同。最简单的方法是在同一台机器上构建和调试。否则您可能需要fiddleSUBST创建虚拟驱动器 - 或者我被告知严肃的方法是使用 Symbol Server .
  • (不太严重)您可以不用那些新奇的交互式调试器,只需登录到文件,或者使用 DebugMessage calls from your VB6

关于vb6 - 如何在Outlook属性页OCX上使用VB6调试器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1019071/

相关文章:

vba - 将颜色类别放入 Outlook 邮件

swift - Snapchat LoginKit 导致 fatal error (Swift)

xcode - 如何在 XCode 4 的外部源文件中设置断点?

python - 编写字体查看器 - 获取字体属性,动态加载 ttf

vb6 终止/跳过 CreateObject 调用

VB6 错误 50003 意外错误 : is the solution to re-register DLLs?

.net - 如何在 dotnet 上以编程方式截取屏幕截图并通过电子邮件发送

java - 在 Java 中通过 Pop3 读取 Outlook 365 的收件箱时遇到错误

java - 如何在Jframe中分离Jpanel

vb.net - 从 VB6 迁移到 .NET,TreeNode.FirstSibling 是否有等效功能?