Вопросы с тегом «stack»

18
Как работает распределение стека в Linux?

Резервирует ли ОС фиксированный объем действительного виртуального пространства для стека или чего-то еще? Могу ли я произвести переполнение стека, просто используя большие локальные переменные? Я написал небольшую Cпрограмму, чтобы проверить мое предположение. Он работает на X86-64 CentOS 6.5....

11
Как я могу контролировать потребление памяти на процесс / на поток (разделенный на кучу, стек, данные, код)?

Прежде чем приступить к написанию собственного кода, я хочу выяснить, существует ли программное обеспечение GNU / Linux, способное выводить что-то похожее на QNXshowmem . Для каждого потока каждого запущенного процесса хотелось бы, чтобы потребление памяти было разделено на следующие категории:...

11
Что устанавливает fs: [0x28] (стек канарейки)?

Из этого поста показано, что FS:[0x28]это стека канарейка. Я генерирую тот же код, используя GCC для этой функции, void foo () { char a[500] = {}; printf("%s", a); } В частности, я получаю эту сборку .. 0x000006b5 64488b042528. mov rax, qword fs:[0x28] ; [0x28:8]=0x1978 ; '(' ; "x\x19" 0x000006be...

10
Почему в современном Linux размер стека по умолчанию такой огромный - 8 МБ (даже 10 в некоторых дистрибутивах)

Например, на OSX это даже меньше, чем 512k. Есть ли рекомендуемый размер, учитывая, что приложение не использует рекурсию и не выделяет много переменных стека ? Я знаю, что вопрос слишком широкий и сильно зависит от использования, но все же хотел спросить, так как мне было интересно, есть ли...