Android本机libc信号11(SIGSEGV),代码2(SEGV_ACCERR),故障地址
添加以下代码后,我遇到崩溃:Android本机libc信号11(SIGSEGV),代码2(SEGV_ACCERR),故障地址,android,c++,debugging,Android,C++,Debugging,添加以下代码后,我遇到崩溃: class AudioPolicyService : public BinderService<AudioPolicyService>, public BnAudioPolicyService, public IBinder::DeathRecipient { friend class BinderService<AudioPolicyService>; //[....] class TestingC
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);
}
class AudioPolicyService:
公共装订服务,
公共政策服务,
公共IBinder::死亡接受者
{
好友类绑定服务;
//[....]
类TestingClz:公共虚拟参考库{
公众:
TestingClz(String8名称、常量wp和服务){}
虚拟测试CLZ(){}
};
sp-mTestingClz;
}//类结束AudioPolicyService
//[....]
void AudioPolicyService::onFirstRef()
{
...
TestingClz=新的TestingClz(String8(“测试”),本条);
}
我遇到了以下事故:
02-03 22:21:17.971 367 367 F调试:修订版:“0”
02-03 22:21:17.971367367 F调试:ABI:“arm”
02-03 22:21:17.971367367 F调试:pid:981,tid:981,名称:
mediaserver>>>/system/bin/mediaserver结果:
如果我做一个完整的构建并刷新系统和引导映像,那么崩溃似乎不会发生。
但是,我仍然想知道是否有某种保护机制来记录和验证运行时的类大小。即使我们替换了.so库,二进制地址映射似乎仍然没有更新
谢谢你提供更多的信息