Устранение неполадок YSOD в Linux/ Mono
Кажется, у меня проблема Mono, которую я не могу воспроизвести в моей тестовой среде Windows, где я получаю YSOD, который выглядит следующим образом:
Server Error in '/' Application
Object reference not set to an instance of an object
Description: HTTP 500. Error processing request.
Stack Trace:
System.NullReferenceException: Object reference not set to an instance of an object
at FluentNHibernate.Visitors.DefaultMappingModelVisitor.Visit (FluentNHibernate.MappingModel.ColumnMapping columnMapping) [0x00000] in <filename unknown>:0
at FluentNHibernate.MappingModel.KeyMapping.AcceptVisitor (IMappingModelVisitor visitor) [0x00000] in <filename unknown>:0
at FluentNHibernate.Visitors.DefaultMappingModelVisitor.Visit (FluentNHibernate.MappingModel.KeyMapping keyMapping) [0x00000] in <filename unknown>:0
at FluentNHibernate.MappingModel.ClassBased.SubclassMapping.AcceptVisitor (IMappingModelVisitor visitor) [0x00000] in <filename unknown>:0
at FluentNHibernate.Visitors.DefaultMappingModelVisitor.Visit (FluentNHibernate.MappingModel.ClassBased.SubclassMapping subclassMapping) [0x00000] in <filename unknown>:0
at FluentNHibernate.MappingModel.ClassBased.ClassMappingBase.AcceptVisitor (IMappingModelVisitor visitor) [0x00000] in <filename unknown>:0
at FluentNHibernate.MappingModel.ClassBased.ClassMapping.AcceptVisitor (IMappingModelVisitor visitor) [0x00000] in <filename unknown>:0
at FluentNHibernate.Visitors.DefaultMappingModelVisitor.Visit (FluentNHibernate.MappingModel.ClassBased.ClassMapping classMapping) [0x00000] in <filename unknown>:0
at FluentNHibernate.MappingModel.HibernateMapping.AcceptVisitor (IMappingModelVisitor visitor) [0x00000] in <filename unknown>:0
at FluentNHibernate.Visitors.DefaultMappingModelVisitor.<Visit>b__0 (FluentNHibernate.MappingModel.HibernateMapping x) [0x00000] in <filename unknown>:0
at FluentNHibernate.Utils.CollectionExtensions.Each[HibernateMapping] (IEnumerable`1 enumerable, System.Action`1 each) [0x00000] in <filename unknown>:0
at FluentNHibernate.Visitors.DefaultMappingModelVisitor.Visit (IEnumerable`1 mappings) [0x00000] in <filename unknown>:0
at FluentNHibernate.PersistenceModel.ApplyVisitors (IEnumerable`1 mappings) [0x00000] in <filename unknown>:0
at FluentNHibernate.PersistenceModel.BuildMappings () [0x00000] in <filename unknown>:0
at FluentNHibernate.PersistenceModel.EnsureMappingsBuilt () [0x00000] in <filename unknown>:0
at FluentNHibernate.PersistenceModel.Configure (NHibernate.Cfg.Configuration cfg) [0x00000] in <filename unknown>:0
at FluentNHibernate.Cfg.MappingConfiguration.Apply (NHibernate.Cfg.Configuration cfg) [0x00000] in <filename unknown>:0
at FluentNHibernate.Cfg.FluentConfiguration.BuildConfiguration () [0x00000] in <filename unknown>:0
Version information: Mono Runtime Version: 2.10.8.1 (Debian 2.10.8.1-1ubuntu2.2); ASP.NET Version: 4.0.30319.1
Я почесал голову, как решить эту проблему. Стандартные средства отладки явно отсутствуют. Существует ли какой-либо механизм сбора номеров строк и контекстной информации для исследования этой проблемы?
1 ответ
Решение
Хорошо, я понял это, но ответ здесь слишком длинный. Я написал об этом в блоге (и да, я признаю, что это клудж) здесь.