【问题标题】:Problem with attaching a process in VS 2008在 VS 2008 中附加进程的问题
【发布时间】:2026-02-11 22:20:02
【问题描述】:

我不确定问题是什么,因为我是这个问题的新手,但我会尽我所能描述问题。我有用 VB6 编写的记者 dll。我在一个网络应用程序(我的主应用程序)中使用这个记者。

目前,我正在将 reportwriter 项目构建为一个 dll,并放入我的主应用解决方案的 a 文件夹中。有人告诉我,VB6 在构建 dll 时会自动注册它。然后,我在主应用程序的解决方案中引用了记者 dll。

然后我开始在 VB6 的 reportwriter 项目中进行调试,然后在我的主应用程序中开始调试。我附上VB6记者流程。然后我在reportwriter 项目中放置一个断点,并尝试从主应用程序进入它,但它无法识别它。它只是过去了。

我得说我在 64 位机器和 64 位版本的 Vista 上运行所有这些。不知道对它有没有影响。

有什么想法吗?我知道这是一个奇怪的问题。任何帮助都会很棒,因为我被困住了。干杯。

【问题讨论】:

  • 这里的内容有点混乱。您已经构建了一个报告编写器 dll 那么“报告编写器进程”从何而来?为什么不使用 VB6 IDE 进行调试? “Web 应用”就是 ASP Classic 对吧?
  • 很抱歉,如果它令人困惑。我正在VB6 IDE 中调试reportwriter。然后我开始在 VS2008 IDE 中调试 Web 应用程序。我所指的 Web 应用程序是各种项目(WCF、类库和 MVC 项目)的合并。

标签: visual-studio-2008 dll vb6 process


【解决方案1】:

在附加到流程之前,您是否选择了适当的选项?例如,托管和非托管代码?

-肖恩

【讨论】:

  • 我不确定您的意思是托管/非托管代码选项。我相信这是非托管代码。除此之外,我不知道有什么选择。您指的选项在哪里?
  • 我在这里没有看到答案,应该是对这个问题的评论。
【解决方案2】:

是的,VB6 将注册它构建的 dll。

现在,当您开始在 VB6 IDE 中调试 VB6 项目时,注册表会被修改为指向主机进程。在调试期间,您的组件将成为进程外组件。

我从未在 VS 2008 上做过,但在过去,您可以构建一个带有选项的 dll,以发出符号文件 (.pdb) 并使用 Visual Studio 使用本机代码调试来调试组件。

为了有机会工作,您需要附加到网络应用程序(我在这里假设 ASP 经典)以进行本机代码调试。

【讨论】: