【问题标题】:Debugging VB6 in VS2008 with non-VB6 objects在 VS2008 中使用非 VB6 对象调试 VB6
【发布时间】:2011-03-23 12:09:21
【问题描述】:

我有一个引用 C++ dll 和 VB6 dll 的 C# EXE 项目。

在Visual Studio 2008中打开相应文件后,我可以成功从C#进入C++。

通过在编译 VB6 dll 时生成 PDB 文件,我实现了从 C# 进入 VB6 的相同能力。

我遇到的问题是,在调试 VB6 DLL 时,任何 .NET 和 C++ 对象在“本地”和“监视”窗口中都显示为 <void>

在一个 IDE 中评估 3 种语言的对象是否期望过高?

或者有其他解决方案吗?

感谢您的帮助。

【问题讨论】:

  • 您的问题并不完全清楚您正在经历什么不良行为以及您期望什么行为。
  • 不良行为是对象值在监视窗口中显示为 。同样 objectname.objectproperty 不会评估。理想的行为是让对象值显示在监视窗口中,并评估表达式,例如 MailItem.Subject 将返回“TheSubject”

标签: c# c++ visual-studio-2008 com vb6


【解决方案1】:

VB6 是在 .Net 发布之前开发的,因此它无法理解 .Net 引用。即使 .Net 对象作为 COM 对象可供 VB6 使用,我认为 VB6 也无法让您在调试时检查它们。

【讨论】:

  • 我认为他正在使用 VS2008 调试器。如果 .Net 对象真的伪装成 COM 对象,您可能希望能够像查看任何其他 COM 对象一样在调试器中查看它们。
猜你喜欢
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
  • 2012-03-27
  • 2011-06-12
  • 1970-01-01
  • 1970-01-01
  • 2014-05-20
  • 1970-01-01
相关资源
最近更新 更多