FATAL SIGNAL 11(Sigsegv)在0x00000000(代码= 1)?

Ers*_*har 15 java crash android signals

为什么会出现这个问题?

public static String path;
private VideoView mVideoView;


mVideoView = (VideoView) findViewById(R.id.surface_view);
mVideoView.setVideoPath(path);
mVideoView.setMediaController(new MediaController(this));
mVideoView.requestFocus();

//...

    private int mLayout = VideoView.VIDEO_LAYOUT_ZOOM;

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        if (mVideoView != null)
            mVideoView.setVideoLayout(mLayout, 0);
        super.onConfigurationChanged(newConfig);
    }
Run Code Online (Sandbox Code Playgroud)

这是错误

Nic*_*tti 7

您看到的错误消息是由在本机代码中取消引用空指针引起的.从你展示的内容来看,很难猜出可能是什么原因.

在你的位置,我会仔细检查你没有传递对系统或库方法的空引用.


Lun*_*nar 5

正如Nicola所提到的,这很可能是由在本机代码中取消引用空指针引起的.我有一个类似的问题,并通过调试堆栈跟踪解决它.

如果关闭日志cat中的过滤,您将看到整个堆栈跟踪.这将为您提供发生崩溃的详细信息,我使用以下python脚本来查找确切原因; https://code.google.com/p/android-ndk-stacktrace-analyzer/wiki/Usage

在我的情况下,由于运行自定义android构建,发生了空指针.

祝好运

  • 这个建议"**如果你关闭日志cat中的过滤,你将看到整个堆栈跟踪.**"救了我. (2认同)

Sam*_*uca 4

最有可能是线程问题...我曾经也遇到过Fatal Signal 11,当我在错误的线程上做事时...

可能是您实现中的 setVideoLayout() 调用onConfigurationChanged()

如果您可以发布更多代码,将会很有帮助......