调试器停止工作并停止显示活动进程

时间:2010-07-29 20:37:56

标签: visual-studio-2008 debugging

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

1 个答案:

答案 0 :(得分:0)

虽然附在过程中,

  1. 单击“调试”菜单
  2. Windows - >模块
  3. 或者“Ctrl-D,M”
  4. 这将显示您附加的进程加载的所有dll。如果您需要的dll不在那里,请在浏览器中刷新页面,看看它们是否已添加到列表中。

    如果列表

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

    如果列表中的

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