【问题标题】:Get stack trace from razor macro within umbraco从 umbraco 中的 razor 宏获取堆栈跟踪
【发布时间】:2012-08-29 11:51:37
【问题描述】:

我继承了一个基于 umbraco 构建的代码库。它使用 razor 脚本来渲染视图。

每当出现错误时,我都会在输出中得到类似的内容:

Error loading Razor Script Product.cshtml
String reference not set to an instance of a String. Parameter name: s

如您所见,这对于帮助识别错误毫无用处。

我不知道这是 umbraco 还是剃刀问题(我第一次使用) 有没有办法可以打开正确的堆栈跟踪?

【问题讨论】:

    标签: razor umbraco


    【解决方案1】:

    umbDebugShowTrace=true 放入您的查询字符串以查看完整的堆栈跟踪。确保在您的 appSettings 中将 umbracoDebugMode 设置为 true 并启用跟踪。

    【讨论】:

    • 这样就行了!我不认为有办法总是显示错误的堆栈跟踪吗?
    • 不,没有,堆栈跟踪包含敏感信息,当您不要求它时不应显示(黑客可能会抓住多汁的位)。
    • 当然,但是如果 umbracoDebugMode 已经设置为 true,它确实意味着您需要该信息 :-) 无论如何,您已经解决了我的问题,非常感谢!
    • 对于实时环境,您绝对希望确保将 umbracoDebugMode 设置为 false,这样您的敏感信息就不会暴露。也就是说,我们已经讨论了一些关于如何显示更多关于剃刀错误的有用信息的讨论,值得深思。顺便说一下,这个 Chrome 扩展可以帮助你轻松切换到调试模式:bit.ly/fXzlk8
    • 啊,扩展很酷,因为我肯定会忘记参数是什么:-)
    【解决方案2】:

    create a website project in Visual Studio 并在其中使用您的 Razor 脚本是一个非常好的主意。您可以Debug > Attach to Process 然后设置断点、监视、单步执行您的代码等,就像任何其他程序一样。

    【讨论】:

      【解决方案3】:

      添加到 Sebastiaan 的帖子中,您在 Umbraco 安装的主 web.config 中将 umbracoDebugtrace 设置为 true。这提供了有关错误的更完整信息。

      【讨论】:

        猜你喜欢
        • 2010-10-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-10
        • 1970-01-01
        相关资源
        最近更新 更多