- 主题:Linux应用程序新创建一个线程,线程栈是放在哪里的?
随机
--
FROM 114.92.145.*
对
- 来自 水木社区APP v3.5.7
【 在 wjhtingerx 的大作中提到: 】
: 就是说这栈空间完全没有保护的对吧?进程里任何瞎写都可能把某个线程的栈破坏掉吧?
--
FROM 39.144.107.*
野指针本身就是难调的问题。
- 来自 水木社区APP v3.5.7
【 在 wjhtingerx 的大作中提到: 】
: 那这样的话,程序里某个bug把其他某个线程栈写了,然后这个线程栈崩了,这种问题怎么查?感觉毫无迹象可循啊
--
FROM 39.144.107.*
同一个进程用的同一个页表
- 来自 水木社区APP v3.5.7
【 在 JulyClyde 的大作中提到: 】
: 页表里不是设置了权限吗?
--
FROM 39.144.107.*
brk现在用的很少了。基本都mmap 了
- 来自 水木社区APP v3.5.7
【 在 hgoldfish 的大作中提到: 】
: mmap() 也可以申请内存的。不止 brk.
:
: 我没有确认,不过我猜大多数情况下,线程栈都是调用 mmap() 而不是 brk() 来申请内存,因为 mmap() 有 MAP_STACK 和 MAP_GROWDOWN 这两个标志位。哪位大佬确认一下。
:
: 进程的堆才用 brk
--
FROM 39.144.107.*