首页
社区
课程
招聘
[求助][求助]IOS调试参数在堆栈的位置问题
发表于: 2014-9-8 21:19 5215

[求助][求助]IOS调试参数在堆栈的位置问题

2014-9-8 21:19
5215
最近在调试一个函数,函数是这样的

void glVertexAttribPointer(  
   GLuint index,
   GLint size,
   GLenum type,
   GLboolean normalized,
   GLsizei stride,
   const GLvoid * pointer);}

我要断下第六个参数,找出它的数值,在GDB中断下,打印堆栈是这样的
(gdb) x/4xw $sp
0x27d3cc34: 0x00000000 0x00000000 0x007d8838 0x1970e6e0

第六个参数是指针,应该是堆栈里的第二个,为什么第二个是空指针,但函数的这个参数不可能是空指针

然后我打印出参数第7个位置的值0x007d8838,得到的数组和正确的值很接近,我问了一下青蛙老大他说可能是第五个参数占了堆栈的两个位置,深深滴怀疑不解,跪求大牛解答一下,明天就要交工了

求大牛点拨一下这个堆栈到底神马情况

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
搞定了,找到问题了,送给大家一个教训,千万别在GDB里面直接断函数,断下来的堆栈全部是错的。。。被坑死了,还是要在IDA里面找到偏移然后断地址才行
2014-9-9 14:42
0
雪    币: 14006
活跃值: (3624)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
意思是进入程序,运行几部,到达MOVS R7,SP时,断?
2014-9-9 21:40
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
ASLR?
2014-9-10 17:51
0
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我的意思是在gdb里面只能断地址,不清楚GDB里面断函数他进行了什么操作或者它断在哪里了,断下的堆栈全是错误分布的,知道原因的可以分享下啊
2014-9-13 16:19
0
游客
登录 | 注册 方可回帖
返回
//