Xamarin Mac - SIGSEGV

问题描述:

有时我在执行我的代码时遇到未知的SIGSEGV错误。Xamarin Mac - SIGSEGV

Stacktrace可以被找到here。 在扩展堆栈视图内的视图时总是发生异常。

 NSAnimationContext.RunAnimation(ctx => 
     { 
      ctx.TimingFunction = CAMediaTimingFunction.FromName(CAMediaTimingFunction.EaseOut); 
      //((NSView)View.Animator).AlphaValue = !IsSmall ? 0 : 1; 
      ((NSLayoutConstraint)heightConstraint.Animator).Constant = (IsSmall == true) ? SmallHeight : LargeHeight; 
     }, null); 

如果我不用动画展开视图,也没有区别。

我无法找出这里发生了什么,所以希望有人能帮助我

提前感谢!

编辑

难道这是因为垃圾收集器释放了这个视图吗?我发现的观点也无法点击和上面说的,点击该按钮将引发SIGSEGV

+0

'也没有扩大与动画不会影响错误。你的陈述困惑,你的意思是如果你不使用'NSAnimationContext.RunAnimation'你仍然会得到同样的错误?由于它似乎是'sendAction:to:from:(UI线程)的错误,请验证您的约束值是否有效。 – SushiHangover

+0

如何检查约束?展开的视图会多次加载到堆栈视图中,其中一些会按预期方式展开,但其中一些会抛出上述错误。此外,这并不总是发生在同一个,它是完全随机的 –

+0

您的链接到堆栈跟踪不起作用 - “您指定了一个片段ID或链接是无效的,无法显示。请使用最近的片段或我的片段按钮来查找有效的片段。“ –

解决方案

的解决方案似乎很容易。我没有将视图存储在任何导致垃圾收集器收集这些垃圾的变量中。现在我添加了一个列表,它将充满意见和瞧:它工作正常