免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: sublx

[书评] [大件事]gdb调试技术以及地址越界相关!·!! [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2013-01-31 10:09 |显示全部楼层
sublx 发表于 2013-01-31 09:55
回复 5# liuiang


嵌入式用C++
您真是艺高人胆大
谁知道那个蛋疼编译器会怎么胡来
神马标准都得给处理器特性让路

论坛徽章:
1
2015年亚洲杯之巴林
日期:2015-02-05 20:34:47
发表于 2013-01-31 10:11 |显示全部楼层
回复 9# safedead


    我的意思是 比如有一个类  class A,他有一个函数  void A::show(){printf("this = %0x\n", this);};

然后:
  A *p = new A;
p->show();//这里打印的是合法的地址。
p->show();这里已经是非法的地址。(中间没有delete p 这样的操作,两条连续的指令)。

论坛徽章:
1
2015年亚洲杯之巴林
日期:2015-02-05 20:34:47
发表于 2013-01-31 10:22 |显示全部楼层
回复 11# safedead


    是不是嵌入式系统我也不是很清楚,上面有个linux系统,里面有几个C++运用很久了一直跑的也没见有什么问题。这个我这个出现的问题,比较诡异。不好理解。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2013-01-31 10:29 |显示全部楼层
sublx 发表于 2013-01-31 10:11
回复 9# safedead


你能保证在CPU级别是两条连续的指令?
PPC可是有流水线+乱序执行特性的
程序中相邻的两条语句,哪怕是两条赋值语句,都不会是两条顺序执行的CPU指令

嵌入式系统即便支持多线程,线程的栈空间也异常狭小
我用的一款32位嵌入式RISC芯片,栈和堆都是同向增长,而且栈越界正好就会进入堆
PPC应该不会这么2,但我用的这东西就是这么2

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2013-01-31 10:32 |显示全部楼层
sublx 发表于 2013-01-31 10:22
回复 11# safedead


你改成多进程吧
C++是代码
编译好的程序可不是C++

没猜错的话你用的应该是非死卡尔的32位PPC嵌入式LINUX系统
做防火墙VPN之类的网络安全产品的

论坛徽章:
1
2015年亚洲杯之巴林
日期:2015-02-05 20:34:47
发表于 2013-01-31 10:32 |显示全部楼层
回复 14# safedead


    我说的连续的2条指令是指在 我这个进程中时连续的。不是说在整个系统执行中时连续的。之所以说中两条指令在这个进程中时连续的,我是根据
gdb的结果判断的。因为我直接 gdb up 就到了调用它的那个函数里面 。(不知道这样能不能证明着两条语句是在我这个进程中是连续的 )

论坛徽章:
1
2015年亚洲杯之巴林
日期:2015-02-05 20:34:47
发表于 2013-01-31 10:37 |显示全部楼层
回复 15# safedead


    嗯。因为我觉得gdb那些堆栈信息应该是连续的吧?如果是的话,那就是在一个进程中连续执行的2条指令,第一条对象的地址是合法的,第二条就变成非法了。
怎么会这样?

论坛徽章:
1
2015年亚洲杯之巴林
日期:2015-02-05 20:34:47
发表于 2013-01-31 13:37 |显示全部楼层
怎么说着说着没人啦?

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
发表于 2013-01-31 13:54 |显示全部楼层
都说了跑valgrind, 猜毛啊.

论坛徽章:
1
2015年亚洲杯之巴林
日期:2015-02-05 20:34:47
发表于 2013-01-31 13:59 |显示全部楼层
回复 19# linux_c_py_php


    板子上没这东西
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP