Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 沙马林,麦克·西格夫_C#_Macos_Cocoa_Xamarin_Xamarin.mac - Fatal编程技术网

C# 沙马林,麦克·西格夫

C# 沙马林,麦克·西格夫,c#,macos,cocoa,xamarin,xamarin.mac,C#,Macos,Cocoa,Xamarin,Xamarin.mac,我在xamarin.mac中遇到了一个模糊的segfault,这是(没有帮助的)stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) MonoMac.AppKit.NSApplication.NSApplicationMain (int,string[]) <0xffffffff> at MonoMac.AppKit.NSApplication.Main (

我在
xamarin.mac
中遇到了一个模糊的segfault,这是(没有帮助的)stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) MonoMac.AppKit.NSApplication.NSApplicationMain     (int,string[]) <0xffffffff>
  at MonoMac.AppKit.NSApplication.Main (string[]) <0x00097>
  at gitbookpro.mac.MainClass.Main (string[]) <0x00017>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff>
at
at(包装器管理为本机)MonoMac.AppKit.NSApplication.NSApplicationMain(int,字符串[])
位于MonoMac.AppKit.NSApplication.Main(字符串[])
位于gitbookpro.mac.MainClass.Main(字符串[])
在(包装器运行时调用)。运行时调用无效对象(对象,intptr,intptr,intptr)
在执行大量处理的
NSOutlineView
上处理
SelectionDidChange
后,会发生崩溃

很难确定到底是什么导致了这次撞车


有什么想法吗?

这个错误是由于,
C
对象被错误地垃圾收集而引起的

它们被垃圾收集,因为这些对象被返回到
objective-c
code(本机代码),并且由于
c
中没有保留引用,垃圾收集器正在删除它们

事情就是这样发生的:


1.创建C#obj
2.将obj返回到本机代码
3.等一下。。。
4.将本机对象转换回C#obj(在事件处理程序等中)
5.访问C#obj