gpt4 book ai didi

c# - 我如何解释此 C# 堆栈跟踪?零行错误

转载 作者:太空宇宙 更新时间:2023-11-03 18:20:01 24 4
gpt4 key购买 nike

我在日志(C# ASP.NET 应用程序)的堆栈顶部收到“对象引用未设置到对象的实例”错误和以下内容:

@Web.UI.UserBrochurePage.Page_Load(Object,EventArgs)+25 Line: 0  
@System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr,Object,Object,EventArgs)+0 Line: 0
@System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object,EventArgs)+26 Line: 0
@System.Web.UI.Control.OnLoad(EventArgs)+38 Line: 0
@System.Web.UI.Control.LoadRecursive()+35 Line: 0
@System.Web.UI.Page.ProcessRequestMain(Boolean,Boolean)+1160 Line: 0

不明白的地方:

  1. 每个错误都在第零行
  2. 最有趣的错误(在我的代码中排名第一)后面有一个“+25”。我一直不明白这些是什么意思,虽然我假设它们是行中的字符偏移量……如果是这样的话,它不会指向任何有意义的东西(参数声明的中间)。

这是一个处于 Release模式的生产系统,但我通常仍然可以从堆栈跟踪对象中获取行号。不幸的是,在这种情况下,错误不会在我们的调试系统上重现,所以我只能尽力而为。

如有任何建议,我们将不胜感激。

谢谢,汤姆

最佳答案

我认为您在堆栈跟踪中看到每个调用的“第 0 行”,因为您的代码是在 Release模式而不是 Debug模式下编译的。在 Debug模式下,您的代码将被编译为包含调试符号文件 (.pdb)。当此文件可用时,您的异常堆栈跟踪将准确地表示行号。

在任何情况下,只有您的 Page_Load 的行号是重要的,因为其余的都是框架程序集的内部调用。

每个堆栈跟踪条目后的 +xx 数字显然是“byte offset into native code”。我承认,最初在我看来,这是以滴答或毫秒为单位的执行时间。

关于c# - 我如何解释此 C# 堆栈跟踪?零行错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/771272/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com