Отладка mscorlib в .Net 4.0 - PullRequest
2 голосов
/ 19 мая 2011

Я получаю следующее исключение из System.IO.Path.CheckInvalidPathChars () в mscorlib:

[ArgumentException: незаконные символы в пути.]
System.IO.Path.CheckInvalidPathChars (String путь) + 142
System.IO.Path.NormalizePath (String path, Boolean fullCheck, Int32 maxPathLength) + 100
System.IO.Path.GetFullPath (String путь) + 187
System.Xml.XmlResolver.ResolveUri (Uri baseUri, String относительный Uri) + 114
System.Xml.XmlTextReaderImpl..ctor (String url, XmlNameTable nt) + 135
System.Xml.XmlDocument.Load (String имя файла) + 85
Sitecore.Web.UI.WebControls.WebEditRibbon.ConvertToJson (String макет) + 210
Sitecore.Web.UI.WebControls.WebEditRibbon.Render (HtmlTextWriter вывод, элемент товара) + 1268
Sitecore.Web.UI.WebControl.Render (HtmlTextWriter выход) + 387
System.Web.UI.Control.RenderChildrenInternal (HtmlTextWriter писатель, сборник детей) + 246
System.Web.UI.HtmlControls.HtmlForm.RenderChildren (HtmlTextWriter писатель) + 315
System.Web.UI.HtmlControls.HtmlContainerControl.Render (HtmlTextWriter писатель) + 48
System.Web.UI.Control.RenderControlInternal (HtmlTextWriter писатель, адаптер ControlAdapter) +11279890 System.Web.UI.Control.RenderChildrenInternal (HtmlTextWriter писатель, сборник детей) + 246
System.Web.UI.Page.Render (HtmlTextWriter писатель) + 40
System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) + 5274

Дело в том, что я не понимаю, какое значение пути вызывает эту ошибку. Было бы полезно, если бы я мог отладить метод, чтобы я мог видеть значение параметра пути. Я включил переход к коду .Net Framework в Visual Studio 2010. Я также загрузил соответствующие символы .Net Framework с серверов Microsoft Symbol. Однако, кажется, что эти PDB не включают источник; поэтому я не могу войти в CheckInvalidPathChars и получить значение пути.

Можно ли отладить mscorlib и просмотреть его источник?

Соответствующая информация:

  • .Net Framework 4.0.
  • Visual Studio 2010

Любой конструктивный вклад приветствуется.

Спасибо, Frank

Ответы [ 3 ]

3 голосов
/ 19 мая 2011

Вы можете получить справочный источник для библиотек .NET.
http://referencesource.microsoft.com/

Глядя на вашу трассировку стека, кажется, что проблема возникла в Sitecore.Web.UI.WebControls.WebEditRibbon.ConvertToJson.Эта вещь пытается загрузить файл XML.

0 голосов
/ 16 апреля 2016

Хорошо, mscorlib.dll на вашем компьютере имеет сборку релиза, так что даже если вы можете очень хорошо отлаживать ее, вы не сможете увидеть значения локальных переменных / объектов и т. Д. Код в этом двоичном файле оптимизирован. Если вам нужен идеальный опыт отладки кода Microsoft .NET, вам необходимо установить на компьютер отладочную версию .NET.

0 голосов
/ 19 мая 2011

Использование рефлектора позволит вам сделать это.
Возможно ли, что вы разрешили разбивать все исключения?Это, безусловно, будет учитывать внутренние исключения, появляющиеся в отладчике.Если это так, вы можете спокойно проигнорировать исключение.

...