经常会遇到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()这个函数呢?

求教

更多相关文章

  1. Android(安卓)MediaPlayer 播放本地与远程的mp3初步
  2. Android(安卓)之 下拉(Spinner) 组件示例
  3. ActionBarSherlock的学习笔记(四) ------------ ActionBarSherlock
  4. Android(安卓)HAL 开发 (4)
  5. Android中Activity,View,Window之间的关系
  6. android私有文件夹的访问
  7. Android中Intent传递Java对象的方法
  8. Android事件传递总结
  9. OpenGL for Android

随机推荐

  1. Android九宫格图片(9.png)的讲解与制作
  2. 想抢先体验Android操作系统的魅力吗?那就
  3. 如何检索Android设备的唯一ID
  4. Android身陷恶意扣费门 部分开发者参与其
  5. Android(安卓)webView不能响应h5打开相册
  6. android数据库事务
  7. Android(安卓)Training - 建立你的第一个
  8. 谈谈我自己对android开发的理解
  9. 【Android】Android聊天机器人实现
  10. 对于android触摸事件模型的一些理解