分析linux/android C层的死机堆栈问题
16lz
2021-01-26
经常会遇到linux下c++代码死机的问题,
通过addr2line转化工具转成相应的函数名
但是很多时候最后一样有问题的代码恰恰是一个
读取变量的函数 如
Class A
{
bool m_hasMoney;
bool checkMoney() const {return m_hasMoney;}
}
Class B
{
A* a() const {return m_a;}
void doSomthing() { .....;a()->checkMoney();....}
}
死机堆栈最后显示是
A::checkMoney() const
于是就很奇怪了,为什么获取m_hasMoney也会死机呢?
m_hasMoney只是一个布尔值 他的地址空间是获创建对象A的时候分配的,那应该是整个a对象被回收了,但是如果class B的m_a是null的话,怎么会顺利执行checkMoney()这个函数呢?
求教
更多相关文章
- Android(安卓)MediaPlayer 播放本地与远程的mp3初步
- Android(安卓)之 下拉(Spinner) 组件示例
- ActionBarSherlock的学习笔记(四) ------------ ActionBarSherlock
- Android(安卓)HAL 开发 (4)
- Android中Activity,View,Window之间的关系
- android私有文件夹的访问
- Android中Intent传递Java对象的方法
- Android事件传递总结
- OpenGL for Android