c - 使用 Visual Studio 2010 调试 ActiveX 控件

标签 c visual-studio-2010 debugging internet-explorer

这是一个奇怪且非常烦人的问题。 我正在将 Visual Studio 2010 用于 ASP.NET Webforms 项目。我能够在 ActiveX 控件中设置断点,加载页面,然后将 Visual Studio 调试器附加到正在运行的 Internet Explorer 进程(显示为类型“脚本、T-SQL、托管”),然后重新加载页面,我的断点将是打。 然而,经过几次小的细微更改(以及大量整理更改)后,当我做同样的事情时,我的断点没有被命中。断点看起来不错 - 主要的变化是当我查看“调试”>“窗口”>“模块”屏幕时,现在没有对 iexplore 进程的引用,即使调试器仍然连接到它。 我有点不愿意撤消所有更改,但我怀疑这可能与 IP 地址有关。大多数代码应该作为 ipv4 地址运行,但我怀疑 Visual Studio 调试器正在使用 ipv6 地址运行。

有人遇到过此类问题,即 IP 地址版本扰乱了调试过程吗?

最佳答案

好的,一周后找到了解决方案!这与 IP 地址无关。 ActiveX组件仅限于.NET 3.5.0,因此当它被IE加载时,它在.NET 2.0中运行。该项目的其余部分是 .NET 4.0,当 Visual Studio 调试时,它会自动调试默认为 .NET 4.0 的代码类型“自动: native ”。虽然我可以附加到 IE 进程,并且所有断点看起来都正常(实心圆圈),但没有一个断点被击中,因为没有加载符号。在附加到 IE 进程时单击“选择”按钮,允许我选择托管(v2.0、v1.1、v1.0)代码并命中断点。您无法同时调试 .NET 4.0 和 .NET 2.0,但可以使用 Visual Studio 的两个单独实例来调试整个项目。 希望这对像我一样被这个绊倒的人有所帮助。

关于c - 使用 Visual Studio 2010 调试 ActiveX 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8929694/

相关文章:

c - Jmp_buf 结构中的每个条目包含什么?

C程序不读取输入,不给出输出

c++ - 从 MFC CDialog 上的子控件接收 WM_MOUSEMOVE

string - Perl 字符串怪异 : equal strings being not equal?

c++ - 在另一个文件中使用 lex 生成的源代码

c - 如何在 C 中将整数值赋给 Unsigned Char*

c# - Visual Studio 从一般开发设置更改

c# - 如何强制 Asp.net 开发服务器作为 32 位进程运行?

ios - URL 打开 Swift 应用程序 - 打开作品 - 调用的函数不起作用

c++ - 查找堆损坏