【问题标题】:Visual Studio is not loading modules when attaching to process附加到进程时,Visual Studio 未加载模块
【发布时间】:2012-10-05 03:56:00
【问题描述】:

我有一个 C++ 应用程序。当我在 Visual Studio 应用程序中按 F5 时,我可以调试它。但是当我从 Windows 资源管理器运行应用程序然后在 Visual Studio 中附加这个过程时,我看到断点可以被命中(它们是完全红色的)但断点没有命中。当我看到模块窗口时,那里什么都没有。什么问题?

【问题讨论】:

    标签: c++ visual-studio-2010 debugging


    【解决方案1】:

    验证 Visual Studio 配置为加载符号的代码类型。附加到进程对话框具有选择代码类型选项以指定要加载的符号。您可以在此处选择托管符号和/或本机符号。

    程序集也应该是相同的版本。

    【讨论】:

    • 我在附加到进程中选择了自动确定选项,是否可以,或者我必须明确告诉它我必须选择本地或托管,
    • 尝试将其更改为其他选项,例如托管 v4.0 和/或本机。
    • 我选择了托管 V4 和本机代码,现在它工作正常。你能告诉我为什么自动选择不能正常工作吗?
    • 实际上不确定,如果发现任何东西会做一些研究并分享,但我之前遇到过类似的错误并通过更改代码类型解决。
    • @jags 你有原因吗?我遇到了同样的问题,并通过选择代码类型来解决。
    【解决方案2】:

    听起来您正在调试的可执行代码 (F5) 与您在资源管理器中运行的可执行代码不同。检查您正在运行的可执行文件的日期。此外,如果您使用它们,它可能会选择不同版本的 DLL。尝试重命名您的 DLL 文件之一,然后从资源管理器中运行。使用depends.exe 查看正在加载的模块。

    【讨论】:

    • 日期是相同的,当我使用调试器运行应用程序然后附加到进程时它说“x86”,但是当我通过 Windows 资源管理器运行它时附加到进程资源管理器说它是“托管的(v4 ), x86"
    猜你喜欢
    • 1970-01-01
    • 2010-09-14
    • 2012-01-11
    • 2010-12-29
    • 1970-01-01
    • 2013-02-24
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多