What are the first steps for tracking down a excep

2019-07-17 04:17发布

问题:

I'm curious if there are any asp.net mono gurus who could give pointers on where to start debugging what may be an error in the mono libraries (perhaps a version mis-match?).

I'll start with the details, and then mention what I've found so far.

Version information:

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

The stack trace:

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

What I've found so far:

This looks similar, but not identical to the stack-O question here, which has comments indicating a version mis-match on the AjaxControlToolkit. Unfortunately, I have not found mention of the AjaxControlToolkit in my site's source, and since the error is slightly different I'm curious if this might only be a similar problem to that of the linked question.

I'm not aware of much else in the google-verse that looks as applicable.

The site runs fine under windows, IIS7, asp.net 4.

The site is erroring in a development environment mentioned above under "version information", which is run using the mono XSP webserver.

My question:

  • What are the first steps that I should take to track this down?
    • Specifically what might be some first steps for tracking down issues in mono libraries like the ones triggering the error?
  • Is there something obvious here that stands out to an eye with more mono experience than mine?

回答1:

The trick is, after installing Mono, download symbols and source code, and then debug in MonoDevelop. You get a chance to step into Mono source code easily and should be able to locate the culprit. The difficulty is how to download symbols and source code, as it depends on the operating system you use, How to step into Framework source code in MonoDevelop I followed @BenLast's advice on Ubuntu.