【问题标题】:Xamarin Mac - SIGSEGVXamarin Mac - SIGSEGV
【发布时间】:2017-03-16 22:10:24
【问题描述】:

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

可以在 here 找到 Stacktrace。 扩展 StackView 中的 View 时总是会发生异常。

        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

【问题讨论】:

  • Also not expanding it with an animation does not affect the error. ?对您的陈述感到困惑,您的意思是如果您不使用NSAnimationContext.RunAnimation,您仍然会遇到同样的错误吗?因为它似乎在sendAction:to:from:(UI 线程)上出现故障,请验证您的约束值是否有效。
  • 如何检查约束?展开视图多次加载到堆栈视图中,其中一些按预期展开,但其中一些抛出上述错误。而且这并不总是发生在同一个上,它是完全随机的
  • 您的堆栈跟踪链接不起作用 - “您指定的 sn-p id 或链接无效且无法显示。请使用“最近的片段”或“我的片段”按钮查找有效的 sn -ps。”

标签: c# xcode xamarin segmentation-fault xamarin.mac


【解决方案1】:

解决方案

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 2018-09-13
    相关资源
    最近更新 更多