分析linux/android C层的死机堆栈问题
2013-03-01 16:06
218 查看
经常会遇到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()这个函数呢?
求教
通过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的死机、重启问题分析方法
- android 常见死机问题--log分析
- Android的死机、重启问题分析方法
- 利用crash工具分析堆栈死机问题
- Android的死机、重启问题分析方法
- android 常见死机问题--log分析
- Android的死机、重启问题分析方法
- Android的死机、重启问题分析方法
- android 常见死机问题--log分析
- android 常见死机问题--log分析
- android 常见死机问题--log分析
- Android的死机、重启问题分析方法
- Android的死机、重启问题分析方法
- android 常见死机问题--log分析
- android 常见死机问题--log分析
- android 常见死机问题-如何分析
- android 常见死机问题--log分析
- android 常见死机问题-如何分析
- [转]android 常见死机问题--log分析
- android 常见死机问题--log分析