【问题标题】:Debugging Visual Studio web application in Release Mode在发布模式下调试 Visual Studio Web 应用程序
【发布时间】:2014-08-07 22:50:02
【问题描述】:

我有一个 Visual Studio 2013 Web 应用程序项目,在发布模式下会中断。没有抛出控制台错误,我认为它必须与脚本缩小/连接有关。当我在调试模式下构建时一切都很好。

所以我试图弄清楚在发布模式下如何调试并且没有运气。

大多数文章,如 this one,建议修改 C/C++、Linker 和其他属性...但我没有看到这些选项,我假设是因为我正在处理一个 Web 应用程序项目。

还有其他方法可以在发布模式下启用调试、断点、console.logs 等吗?

【问题讨论】:

  • 在您编译发布版本时是否创建了 PDB?
  • 嗨,克里斯。是的,正在创建 PDB。
  • 请注意,只要您拥有这些 PDB 文件,即使在发布模式下编译的代码也可以调试。只需将您的调试器附加到正确的 w3wp 进程,设置断点,只要您的 PDB 与您的程序集一起,您就应该很好。如果您继续挣扎,请告诉我,我会尽力为您提供更多详细信息。
  • 附加到 w3wp 进程,效果很好。谢谢!

标签: javascript visual-studio debugging visual-studio-2013 visual-studio-debugging


【解决方案1】:

如果您尝试调试 Web 应用程序,那么您不会看到这些选项,因为它们仅适用于 C++ 解决方案。要调试 C# 或 VB Web 应用程序,您不需要进行任何特殊配置。

如果它不起作用,但是您可以检查一些简单的事情,首先是生成 PDB 文件。这些本质上是调试符号,将原始源代码与编译输出相匹配,允许 Visual Studio 单步执行代码,并且它们应该与您的 DLL 放在同一目录中。

一旦您的 PDB 就位,您需要做的就是附加调试器。现在,对于一个 Web 应用程序,这起初可能会有点令人困惑(如果您使用的是 IIS)。 IIS 有几个应用程序池:

您要附加的 IIS 进程称为w3wp,起初这有点令人困惑。并且可能有几个(一个用于每个处于活动状态和运行的 AppPool)。确保您已选中 Show processes from all users 以查看列出的进程:

为了使整个过程更容易,如果您正在运行允许扩展的 Visual Studio 版本,请查看AttatchTo。它添加了一个菜单选项,您可以单击(并转换为工具栏按钮/快捷方式),该选项将自动附加到所有 IIS 实例以调试您的代码。

【讨论】:

    猜你喜欢
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多