Linux / Mono上的YSOD故障排除

时间:2012-10-08 23:23:23

标签: c# linux fluent-nhibernate mono ysod

我似乎有一个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 个答案:

答案 0 :(得分:0)

好的,我想出来了,但答案太长了。我在博客上写了这篇文章(是的,我承认它是一个kludge)here