【问题标题】:Debugger stops working and stops showing active processes调试器停止工作并停止显示活动进程
【发布时间】:2010-07-30 05:02:17
【问题描述】:

我正在尝试调试 Web 应用程序,但 VS 遇到了一些相当奇怪的问题。我要做的第一件事是附加到 w3wp 进程并在确实执行的代码中设置断点。问题是,没有一个断点被击中。认为我一定做错了什么,我停止了调试器,当我重新连接时,我的 54 个进程中只显示了 6 个,而且没有一个是 w3wp(是的,我既有来自所有用户的显示进程,也有来自所有用户的显示进程会话检查)。重新启动 VS(或计算机)什么也不做。有人对如何让 VS 工作有任何想法吗?

【问题讨论】:

    标签: visual-studio-2008 debugging


    【解决方案1】:

    在附加到进程时,

    1. 点击调试菜单
    2. Windows -> 模块
    3. 交替使用“Ctrl-D,M”

    这将向您显示由您附加的进程加载的所有 dll。如果您需要的 dll 不存在,请在浏览器中刷新页面并查看它们是否已添加到列表中。

    如果他们不在列表中

    您附加到了错误的 w3wp.exe 进程。

    如果他们列表中

    1. 查看“路径”列,确保它在您期望的位置执行。
    2. 查看“符号文件”列,如果为空,
      1. 右键单击 dll 并选择“从 -> 加载符号”然后选择“符号路径”
      2. 这将允许您直接指向要加载的本地 pdb 文件。它应该在“myproject/bin/debug/”目录中。
      3. 这可能会说“pdb 与模块不匹配”(我忘记了。)如果是这种情况,则意味着您正在运行的代码与您在 Visual Studio 中的版本不同。
      4. 这很重要。如果您将某些东西部署到 gac,然后在 Visual Studio 中 build,它将认为 pdb 与 gac 的 dll 不同步!所以,如果你想调试你放在 gac 中的东西,这意味着 pdb 上的时间戳和加载的 dll 上的时间戳必须相同!

    希望这能让一切恢复正常。

    【讨论】:

    • 谢谢,它在您发帖之前就开始自行工作了。我确实计划保存此信息,因为 VS 之前已经这样做了
    猜你喜欢
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 2013-02-22
    • 1970-01-01
    相关资源
    最近更新 更多