跟踪单声道asp.net库中触发的异常的第一步是什么?

时间:2013-11-08 16:58:46

标签: c# asp.net mono xsp xsp4

我很好奇是否有任何asp.net单声道专家可以指出从哪里开始调试单声道库中的错误(可能是版本不匹配?)。

我将从详细信息开始,然后提及到目前为止我发现的内容。

版本信息:

Mono Runtime Version: 2.10.8.1 (Debian 2.10.8.1-5ubuntu1); ASP.NET Version: 4.0.30319.1

堆栈跟踪:

System.InvalidCastException: Cannot cast from source type to destination type.
  at System.Web.UI.ScriptManager.GetCurrentInternal (System.Web.UI.Page page) [0x00000] in <filename unknown>:0 
  at System.Web.UI.ScriptManager.GetCurrent (System.Web.UI.Page page) [0x00000] in <filename unknown>:0 
  at ComponentArt.Web.UI.WebControl.OnLoad (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at ComponentArt.Web.UI.Dialog.OnLoad (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Web.UI.Control.LoadRecursive () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Control.LoadRecursive () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Control.LoadRecursive () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Control.LoadRecursive () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Control.LoadRecursive () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Control.LoadRecursive () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Control.LoadRecursive () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Page.ProcessLoad () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Page.ProcessPostData () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Page.InternalProcessRequest () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Page.ProcessRequest (System.Web.HttpContext context) [0x00000] in <filename unknown>:0

到目前为止我发现了什么:

这看起来与the stack-O question here类似,但不完全相同,{{3}}的注释表明AjaxControlToolkit上的版本不匹配。不幸的是,我没有在我的网站的源代码中找到AjaxControlToolkit的提及,并且由于错误略有不同,我很好奇,如果这可能只是类似的问题相关问题。

我不知道google-verse中的其他内容看起来是适用的。

该网站在Windows,IIS7,asp.net 4下运行良好。

在“版本信息”下的上述开发环境中,该站点出错,该版本信息使用单声道XSP网络服务器运行。

我的问题:

  • 我应该采取哪些步骤来追踪这个问题?
    • 具体来说,跟踪单声道库中的问题(例如触发错误的问题)的第一步可能是什么?
  • 这里有什么显而易见的东西比我的单声道经验更突出吗?

1 个答案:

答案 0 :(得分:0)

诀窍是,在安装Mono之后,下载符号和源代码,然后在MonoDevelop中进行调试。您有机会轻松地进入Mono源代码,并且应该能够找到罪魁祸首。困难在于如何下载符号和源代码,因为它取决于您使用的操作系统,How to step into Framework source code in MonoDevelop我遵循了@BenLast对Ubuntu的建议。