【问题标题】:Breakpoints for C++ in Visual StudioVisual Studio 中 C++ 的断点
【发布时间】:2010-11-01 11:43:50
【问题描述】:

当我运行调试器时,没有命中在 Visual Studio 中为 C++ 项目设置的断点。

当我启动调试器时,我收到警告

“IEEXPLORER.EXE”的调试信息找不到或不匹配。未加载任何符号。要开始调试吗?

我点击是继续,但是我设置的断点有一个警告说:

当前不会命中断点。没有为此文档加载任何符号

调试项目时如何加载符号?我需要改变它的构建方式吗?

【问题讨论】:

    标签: visual-studio debugging internet-explorer plugins visual-studio-2005


    【解决方案1】:

    最新的 Internet Explorer 具有不同的进程模型,它固有地禁用 ActiveX 控件的调试(我假设您正在尝试调试)。不过,有一个注册表设置可能会对您有所帮助。

    HKLM\Software\Microsoft\Internet Explorer\Main > TabProcGrowth:DWORD

    将此值设置为 0,您应该能够调试控件。

    【讨论】:

    • 我使用的是 IE8,所以我尝试设置此键并重新启动 Visual Studio。不幸的是,我仍然没有得到任何输出。
    【解决方案2】:

    您似乎正在尝试调试 Internet Explorer 的扩展(工具栏、bho 等)

    如果 Internet Explorer 让您无法连接到正确的进程,您可以故意让您的进程崩溃,然后对其进行 JIT 调试。在 DllMain 中使用 DbgBreakPoint 来完成。 Visual Studio 应该会弹出一个窗口,询问您是否要调试它。这有点落后,但应该可以帮助您避免玩弄 IE 可能会做的所有过程。

    这也将允许您查看其他问题的调试输出,因为您将附加正确的进程。

    【讨论】:

      【解决方案3】:

      你必须确定三件事:

      • 生成 DLL 的 .pdb 文件,该文件包含您尝试中断的代码,并确保此 .pdb 文件包含源信息。如果您告诉我您使用哪种 IDE/语言,我可以帮助您确保这一点。
      • 确保您的调试器找到这个.pdb 文件;一种简单的方法是将 .pdb 文件复制到二进制文件附近。如果加载了 .pdb 文件,则 Visual Studio 中菜单 Debug\Windows\Modules 中可用的工具窗口应在 DLL 文件行的“符号状态”列中显示“符号已加载”。
      • 如果您使用另一台计算机进行调试,而不是用于构建 DLL 文件的计算机,请确保源文件在两台计算机上的路径相同。

      有了这个,你的断点应该没问题。

      【讨论】:

        【解决方案4】:

        我要检查的第一件事是您正在调试模式下构建。工具栏中有一个组合框,您可以在其中选择发布模式和调试模式。

        在 Release 中,调试信息不​​包括在内。

        第二件事是确保您将调试附加到正确的进程。您可以开始附加到进程 (F5) 或不附加 (Ctr-F5) 开始,然后手动附加自己(通过“调试”菜单,附加到进程)。

        IEXPLORER 是您当前附加到的进程。你确定这是正确的吗?

        【讨论】:

        • 我正在构建一个 IE 插件,所以是的,它应该是我附加的 IEXPLORER。我按 F5 以调试模式启动,当它运行时,停止调试菜单项可用,所以我认为它确实在运行。
        【解决方案5】:

        我遇到了这个问题,解决它的唯一方法是覆盖“附加到进程”中的“自动确定要调试的代码类型”选项。一旦我清除了“Silverlight”调试类型,所有正确的模块都会出现在 iexplore.exe 下,我的断点亮起,并且我能够进行适当的调试。不知道为什么这是必要的,或者是否一直如此,但这对我有用。

        【讨论】:

          猜你喜欢
          • 2011-05-03
          • 2011-05-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-01
          • 1970-01-01
          • 1970-01-01
          • 2014-03-02
          相关资源
          最近更新 更多