添加以下代碼後,我一直在經歷着崩潰:Android原生的libc信號11(SIGSEGV),碼2(SEGV_ACCERR),故障地址
class AudioPolicyService :
public BinderService<AudioPolicyService>,
public BnAudioPolicyService,
public IBinder::DeathRecipient
{
friend class BinderService<AudioPolicyService>;
//[....]
class TestingClz : public virtual RefBase {
public:
TestingClz (String8 name, const wp<AudioPolicyService>& service){}
virtual TestingClz() {}
};
sp<TestingClz> mTestingClz;
} // End of class AudioPolicyService
//[....]
void AudioPolicyService::onFirstRef()
{
...
TestingClz = new TestingClz(String8("test"), this);
}
我得到了下面的崩潰:
02 -03 22:21:17.971 367 367˚FDEBUG:修訂: '0'
02-03 22:21:17.971 367 367˚FDEBUG:ABI: 'ARM'
02-03 22:21: 17.971 367 3 67女性DEBUG:PID:981,TID:981,名稱: 的MediaServer >>> /系統/ bin中/媒體服務器< < <
02-03 22:21:17.972 367 367˚FDEBUG:信號11(SIGSEGV) ,代碼2 (SEGV_ACCERR),故障地址0xb6e594d8
02-03 22:21:17.976 367 367˚FDEBUG:R0 b6e594d8 R1 becfa970 R2 R3 00000000 b6e4d812
02-03 22:21:17.976 367 367 F DEBUG:r4 b5fd6a1c r5 becfa970 r6 becfa96c r7 b5fd69d4
02-03 22:21:17.976 367 367˚FDEBUG:R8 becfa968 R9 b6ad8e2d SL 00000000 FP becfabbc
02-03 22:21:17.976 367 367˚FDEBUG:IP b6b0ec24 SP becfa958 LR b6b03849 PC b6b03604 CPSR 80010030
02-03 22:21:17.980 367 367˚FDEBUG:
02-03 22:21:17.980 367 367˚FDEBUG:回溯:
02-03 22:21:17.980 367 367 F DEBUG:#00 pc 0000e604 /system/lib/libutils.so(android :: RefBase :: w eakref_type :: incWeak(無效 常量*)+ 11)
02-03 22:21:17.980 367 367˚FDEBUG:#01 PC 0000e845 /system/lib/libutils.so(機器人:: RefBase :: createWeak(無效常量*) 常量+ 6)
02-03 22:21:17.980 367 367˚FDEBUG:#02 PC 000060ad /system/lib/libaudiopolicyservice.so
02-03 22: 21:17.980 367 367 F DEBUG:#03 pc 0000620b /system/lib/libaudiopolicyservice.so
02 -03 22:21:17.980 367 367˚FDEBUG:#04件0000232d /系統/斌/媒體服務器
02-03 22:21:17.980 367 367˚FDEBUG:#05件00001b8f /系統/斌/媒體服務器
02-03 22:21:17.981 367 367˚FDEBUG:#06 PC 00017359 /system/lib/libc.so(__libc_init + 44)
02-03 22:21:17.981 367 367 F DEBUG:#07 pc 00001e0c /system/bin/mediaserver
02-03 22:21:18。088 367 367˚FDEBUG:
02-03 22:21:18.088 367 367˚FDEBUG:墓碑寫入: /數據/墓碑/ tombstone_01
映射地址到行之後,它指向的排除我的變化。 SEGV_ACCERR
表示映射對象的權限無效。我想知道它是否是由android mprotect引起的?因爲它看起來不像一個正常的崩潰。 有沒有人遇到同樣的故障?非常感謝!
更新: 好的,看起來崩潰不會發生,如果我做一個整體構建和閃光系統&啓動圖像。 因此,爲了使Android本地服務發生變化,我們將始終需要完整的構建?
天龍