Domande taggate «callstack»

Uno stack che memorizza i dettagli delle funzioni chiamate da un programma in sequenza, in modo che ogni funzione possa tornare al termine al codice che l'ha chiamata.



6
Spiega in poche parole il concetto di uno stack frame
Mi sembra di avere l'idea di stack di chiamate nella progettazione del linguaggio di programmazione. Ma non riesco a trovare (probabilmente, non cerco abbastanza bene) nessuna spiegazione decente di cosa sia lo stack frame . Quindi vorrei chiedere a qualcuno di spiegarmelo in poche parole.
200 callstack 

2
Come posso riproporre un'eccezione in Javascript, ma preservare lo stack?
In Javascript, supponiamo di voler eseguire alcune operazioni di pulizia quando si verifica un'eccezione, ma lascia che l'eccezione continui a propagarsi nello stack, ad esempio: try { enterAwesomeMode(); doRiskyStuff(); // might throw an exception } catch (e) { leaveAwesomeMode(); throw e; } doMoreStuff(); leaveAwesomeMode(); Il problema con questo codice è …

13
stampa stack di chiamate in C o C ++
C'è un modo per eseguire il dump dello stack di chiamate in un processo in esecuzione in C o C ++ ogni volta che viene chiamata una determinata funzione? Quello che ho in mente è qualcosa del genere: void foo() { print_stack_trace(); // foo's body return } Where print_stack_tracefunziona in …
120 c++  c  linux  callstack 




4
Le variabili dello stack sono allineate dall'attributo __ GCC __ ((align (x)))?
Ho il codice seguente: #include <stdio.h> int main(void) { float a[4] __attribute__((aligned(0x1000))) = {1.0, 2.0, 3.0, 4.0}; printf("%p %p %p %p\n", &a[0], &a[1], &a[2], &a[3]); } E ho il seguente output: 0x7fffbfcd2da0 0x7fffbfcd2da4 0x7fffbfcd2da8 0x7fffbfcd2dac Perché l'indirizzo di a[0]non è un multiplo di 0x1000? Cosa __attribute__((aligned(x)))fa esattamente ? Ho frainteso …


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.