Android UVCCamera问题——Cause: null pointer dereference

本文记录了在使用UVCCamera开源库时遇到的问题:当UVC设备被拔出时,应用异常闪退。通过addr2line工具定位到问题发生在libusb的handle_iso_completion函数第2729行,因tpriv->iso_urbs为空指针导致。解决方案是对空指针情况进行判断,避免直接访问。鼓励读者参与讨论和交流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录遇到的问题。

采用的开源库链接:https://github.com/saki4510t/UVCCamera
使用该库预览的时候,如果拔掉uvc设备,会造成异常闪退。

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
Cause: null pointer dereference
	r0  00000000  r1  e4a9b9dc  r2  0000ffff  r3  bf1acf00
    r4  bf1acf00  r5  bd10da00  r6  bd10da20  r7  00000004
    r8  bda55fe0  r9  00000000  r10 bd10dbcc  r11 bbdc3858
    ip  e4dfdfe4  sp  bbdc3698  lr  e4dfcd83  pc  bee6ec34
backtrace:
    #00 pc 00011c34  /data/app/com.raypai.splitassist-dqx6PtGtLxCC3HigSgunAA==/lib/arm/libusb100.so
    #01 pc 0000d200  /data/app/com.raypai.splitassist-dqx6PtGtLxCC3HigSgunAA==/lib/arm/libusb100.so
    #02 pc 0000cb60  /data/app/com.raypai.splitassist-dqx6PtGtLxCC3HigSgunAA==/lib/arm/libusb100.so (libusb_handle_events_timeout_completed+968)
    #03 pc 0000d3cc  /data/app/com.raypai.splitassist-dqx6PtGtLxCC3HigSgunAA==/lib/arm/libusb100.so (libusb_handle_events+52)
    #04 pc 00012c20  /data/app/com.raypai.splitassi
Build fingerprint: 'qti/trinket/trinket:13/TKQ1.231110.001/1042:user/test-keys' Revision: '0' ABI: 'arm64' Timestamp: 2025-03-17 15:51:19.834771710+0800 Process uptime: 4641s Cmdline: com.sgmw.systemsettings pid: 3412, tid: 3849, name: app_end_timer >>> com.sgmw.systemsettings <<< uid: 1000 tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x00000000000000e8 Cause: null pointer dereference x0 0000000000000000 x1 00000000130b65b0 x2 0000000000000002 x3 0000000014046e48 x4 0000000000000000 x5 0000000000000000 x6 00000000f7ca7c83 x7 0000000000000010 x8 00000000130b5a94 x9 0000000000000017 x10 0000000000000000 x11 0000000000000000 x12 000000721796c030 x13 000000007fffffff x14 0000000000234e2e x15 00000000130b5aa0 x16 00000000000000f0 x17 000000000004e667 x18 0000006e77308000 x19 b4000070719b1890 x20 0000000000000000 x21 b4000070719b1950 x22 0000000014036ad8 x23 00000000130b65b0 x24 0000000014044190 x25 0000000000000002 x26 0000000013991710 x27 00000000134d3bc8 x28 00000195a315784b x29 00000000703f5270 lr 0000006e816d1368 sp 0000006e77a176e0 pc 0000006e816d137c pst 0000000060000000 backtrace: #00 pc 0000000001d4337c /system/app/SGMWSystemSetting_F710C/oat/arm64/SGMWSystemSetting_F710C.odex (com.sensorsdata.analytics.android.sdk.SensorsDataAPI.isAutoTrackEventTypeIgnored+92) (BuildId: 29a59f31ef33280cab29918446ba9e56f8d1861f) #01 pc 0000000001d434b4 /system/app/SGMWSystemSetting_F710C/oat/arm64/SGMWSystemSetting_F710C.odex (com.sensorsdata.analytics.android.sdk.SensorsDataAPI.isAutoTrackEventTypeIgnored+100) (BuildId: 29a59f31ef33280cab29918446ba9e56f8d1861f) #02 pc 000000000155296c /system/app/SGMWSystemSetting_F710C/oat/arm64/SGMWSystemSetting_F710C.odex (com.sensorsdata.analytics.android.sdk.SensorsDataActivityLifecycleCallbacks.trackAppEnd+332) (BuildId: 29a59f31ef33280cab29918446ba9e56f8d1861f) #03 pc 00
最新发布
03-19
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值