Pytania otagowane jako stack

3
Jak działa alokacja stosu w systemie Linux?
Czy system operacyjny rezerwuje stałą ilość ważnego miejsca wirtualnego na stos lub coś innego? Czy jestem w stanie wygenerować przepełnienie stosu tylko przy użyciu dużych zmiennych lokalnych? Napisałem mały Cprogram, aby sprawdzić moje założenia. Działa na X86-64 CentOS 6.5. #include <string.h> #include <stdio.h> int main() { int n = 10240 …

2
Co ustawia fs: [0x28] (kanarek stosu)?
Z tego postu pokazano, że FS:[0x28]jest kanarek-stos. Generuję ten sam kod za pomocą GCC w tej funkcji, void foo () { char a[500] = {}; printf("%s", a); } W szczególności otrzymuję ten zestaw .. 0x000006b5 64488b042528. mov rax, qword fs:[0x28] ; [0x28:8]=0x1978 ; '(' ; "x\x19" 0x000006be 488945f8 mov qword …
13 linux  security  gcc  stack 

1
Jak mogę monitorować zużycie pamięci na proces / wątek (podzielone na stos, stos, dane, kod)?
Przed wskoczeniem i napisaniem własnego kodu chcę dowiedzieć się, czy istnieje oprogramowanie GNU / Linux, które jest w stanie wygenerować coś podobnego do QNXshowmem . Dla każdego wątku każdego uruchomionego procesu chciałbym zobaczyć zużycie pamięci podzielone na następujące kategorie: Process listing (Total, Code, Data, Heap, Stack, Other) 319488 1024000 24587 …
11 linux  memory  stack 

2
Dlaczego w nowoczesnym systemie Linux domyślny rozmiar stosu jest tak ogromny - 8 MB (nawet 10 w niektórych dystrybucjach)
Na przykład w OSX jest nawet mniej niż 512 KB. Czy jest jakiś zalecany rozmiar, biorąc pod uwagę, że aplikacja nie używa rekurencji i nie przydziela wielu zmiennych stosu ? Wiem, że pytanie jest zbyt ogólne i bardzo zależy od użycia, ale nadal chciałem zapytać, ponieważ zastanawiałem się, czy kryje …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.