2017.7.3--2017.7.7高通8909平台工厂测试模式出现的挂机Fatal signal 11 (SIGSEGV)问题

1.  frameworks/native/include/android/native_window.h

typedef struct ANativeWindow_Buffer {

    // The number of pixels that are show horizontally.

    int32_t width;


    // The number of pixels that are shown vertically.

    int32_t height;


    // The number of *pixels* that a line in the buffer takes in

    // memory.  This may be >= width.

    int32_t stride;


    // The format of the buffer.  One of WINDOW_FORMAT_*

    int32_t format;


    // The actual bits.

    void* bits;


    // Do not touch.

    uint32_t reserved[6];

} ANativeWindow_Buffer;


2.

int prctl ( int option,unsigned long arg2,unsigned long arg3,unsigned long arg4,unsigned long arg5 )

这个系统调用指令是为进程制定而设计的,明确的选择取决于option:

PR_SET_NAME :把参数arg2作为调用进程的经常名字。(SinceLinux 2.6.11)


3.

最近调试的时候遇到

Fatal signal 11 (SIGSEGV), code 1, fault addr 0xb3487000 in tid 2971 (mm_cam_stream)

DEBUG   :     r0 b3487000  r1 b333b040  r2 00025180  r3 00000000

。。。。

DEBUG   : backtrace:

DEBUG   :     #00 pc 00016970  /system/lib/libc.so (__memcpy_base+104)   

DEBUG   :     #01 pc 000035dd  /system/vendor/lib/mmi_camera.so (_Z22mmi_cam_display_bufferP19mm_camera_buf_def_ti+312)

DEBUG   :     #02 pc 0000b317  /system/lib/libmm-qcamera.so

DEBUG   :     #03 pc 0000b303  /system/lib/libmmcamera_interface.so


/msm8909-m$ addr2line -e out/target/product/msm8909_512/symbols/system/lib/libc.so  00016970

/msm8909-m/bionic/libc/arch-arm/cortex-a15/bionic/memcpy_base.S:122

addr2line命令这种方式,可以定位程序出错的地方,请注意色标,实在太好用了!!!

4.



猜你喜欢

转载自blog.csdn.net/yhy08090/article/details/74294531