首页
社区
课程
招聘
[旧帖] [求助]请问windows每个线程都有一个用户堆栈和内核堆栈是吗? 0.00雪花
发表于: 2011-8-9 20:37 1475

[旧帖] [求助]请问windows每个线程都有一个用户堆栈和内核堆栈是吗? 0.00雪花

2011-8-9 20:37
1475
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
书上是这么说的.....
2011-8-9 20:43
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
哪本书这样说啊?我看看,正是要看这种知识的书。
2011-8-9 20:49
0
雪    币: 292
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Windows Internals.
2011-8-9 21:14
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
真的吗?我下了这本,还没怎么看,听说挺管用的,可是我看还有一本叫windows内核原理与实现,是作者根据wrk代码写的一本总结的书,对比下,大家觉得哪本对我们看雪的学子比较好?
2011-8-9 22:01
0
雪    币: 5033
活跃值: (3434)
能力值: ( LV13,RANK:283 )
在线值:
发帖
回帖
粉丝
6
软件调试上也有比较详细的说明
2011-8-9 22:36
0
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
内核栈是肯定会有的,用户栈一般都有,但不是必须的 。如果线程仅仅跑在内核里,就不会有。
2011-8-10 00:36
0
雪    币: 90
活跃值: (82)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
用户态下是的,核心态下没测试过。

●各个线程维护同样的堆栈,还是不同的堆栈。多个线程的TEB是否位置相同?   
答,都是不同的。参见代码示例:thread information block test

●写个代码写出进程堆地址。根据FS,获得TIB,根据TIB获取PEB,根据PEB,获取进程堆的地址。最后验证这个堆地址与new[]出的地址是否相匹配。
答案:不匹配,参见代码MemoryAdressTest 或MemoryAdressTestWin32
2011-8-10 06:56
0
游客
登录 | 注册 方可回帖
返回
//