2

我有一个 MonoMac 应用程序,想看看是哪一行导致了异常。我所有的堆栈跟踪都是这样的:

[ERROR] FATAL UNHANDLED EXCEPTION: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: I am going to crash now.
  atSync.MacConfiguration..ctor (System.String destinationPath, IDatabasePathGenerator pathGenerator) [0x00000] in <filename unknown>:0 
  at Sync.MacConfiguration..ctor () [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
at System.Reflection.MonoCMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x001f3>
at System.Reflection.MonoCMethod.Invoke (System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x00024>
at System.Reflection.ConstructorInfo.Invoke (object[]) <0x00042>
at System.Activator.CreateInstance (System.Type,bool) <0x001d3>
at System.Activator.CreateInstance (System.Type) <0x00013>
at Sync.ConfigurationSection.get_Configuration () <0x00043>
at Sync.Configuration.LoadFromXML (string) <0x000cf>
at Sync.Configuration.get_Default () <0x0005f>
at Sync.Mac.AppDelegate..ctor () <0x00037>
at (wrapper dynamic-method) object.905edfe4-e0b5-4f92-955e-4e10c991fb3a (intptr,MonoMac.ObjCRuntime.Selector) <0x00057>
at (wrapper native-to-managed) object.905edfe4-e0b5-4f92-955e-4e10c991fb3a (intptr,MonoMac.ObjCRuntime.Selector) <0x0006f>
at (wrapper managed-to-native) MonoMac.AppKit.NSApplication.NSApplicationMain (int,string[]) <0x00003>
at MonoMac.AppKit.NSApplication.Main (string[]) <0x0003f>
at Sync.Mac.MainClass.Main (string[]) <0x000e7>

我已尝试将文件复制到.mdb文件Contents/MonoBundle夹中,但在堆栈跟踪中仍然看不到行号。

关于如何解决这个问题的任何提示?

4

1 回答 1

1

在 Linux 中,要查看行号,您不仅需要 .mdb,还需要使用标志“--debug”调用 mono。

现在,在 Mac 上,我不确定这是否有效(或者它是否可能,因为您使用的是捆绑包,我不确定这是否意味着您将全部编译成一个可执行文件?)。

于 2012-11-01T22:47:40.807 回答