代码之家  ›  专栏  ›  技术社区  ›  Gabriël

从ASP.NET黄色错误页直接链接到VS源代码

  •  1
  • Gabriël  · 技术社区  · 17 年前

    当ASP.NET应用程序出错并生成黄色屏幕显示时,我想从错误页创建某种链接,该链接将直接跳转到Visual Studio中的正确代码行。

    我不知道该如何解决这个问题,也不知道是否已经有任何工具可以完成这个问题——但我希望得到一些关于从哪里开始的反馈。

    如果需要生成新的错误页,是否可以在整个Web服务器上替换标准黄色屏幕,而不必为每个应用程序配置自定义的错误输出?

    6 回复  |  直到 12 年前
        1
  •  1
  •   Eric Z Beard    17 年前

    您可能需要在页面中嵌入一个ActiveX控件,这样才能实现。

        2
  •  0
  •   FlySwat    17 年前

    死亡的黄色屏幕由默认的ASP.NET httphandler提供。

    为了拦截它,您需要在它前面添加另一个httphandler,它拦截所有未捕获的异常。

    在这一点上,您可以为您的错误布局做任何您想做的事情。

    创建一种直接跳转到Visual Studio的方法是很困难的。我可以通过一个COM/ActiveX对象在IE中看到它。

        3
  •  0
  •   jonezy    17 年前

    对于服务器来说,死亡黄色屏幕只是一个500个错误,您可以使用web.config的错误部分重定向到自定义屏幕。要以相同的方式对整个服务器进行更改,您可能会在IIS级别重写它?或者甚至可以在machine.config文件中设置默认行为(但不能100%确定这一点)。

        4
  •  0
  •   FlySwat    17 年前

    对于服务器来说,死亡黄色屏幕只是一个500个错误,您可以使用web.config的错误部分重定向到自定义屏幕。要以相同的方式对整个服务器进行更改,您可能会在IIS级别重写它?或者甚至可以在machine.config文件中设置默认行为(但不能100%确定这一点)。

    如果让它一直冒泡到IIS,您将无法访问异常信息。最好在YSOD之前抓住例外情况并为自己服务。

    这可以在应用程序级别完成。

        5
  •  0
  •   Daniel Pollard    17 年前

    不要忘记您需要程序调试数据库(PDB)文件来查找源代码行号。处于发布模式的应用程序将不具有与调试版本相同的信息级别。

        6
  •  -1
  •   Adam Davis    16 年前

    我能想到的最简单、最懒惰的事情就是让这个过程发生在周四:

    1. 黄色屏幕被修改,所以行是源代码是可点击的。单击时,它会传递一个带有源文件名和行号的小文本文件。
    2. 电脑上的一个小程序系在小文件的扩展名上,黄色屏幕让你下载。该程序使用Visual Studio的扩展性模型打开源文件并转到该行。程序可能需要知道源代码在哪里。

    A simple Google search 提供有关如何使用外部程序操作vs的有用指针 such as this post on MSDN .

    如果你想变得更时髦,当然还有其他的方法,但我宁愿写一个快速而肮脏的程序,让它远离我的方式,这样我就可以做我的生意了。

    不要让工具变成项目…

    -亚当

    推荐文章