ExpertiDict

C · Intermediário · Inglês · Técnico

stack frame

/stæk fɹeɪm/substantivo

Bloco da stack criado a cada chamada de função, com parâmetros, variáveis locais e o endereço de retorno. É destruído quando a função retorna.

Onde usar

Depurar com gdb mostra a cadeia de frames (bt), útil para achar quem chamou a função que quebrou. Recursão sem fim empilha frames até estourar a stack.

Em código

int fat(int n) {
  if (n <= 1) return 1;
  return n * fat(n - 1); // um frame por n
}

Exemplos

Each recursive call adds a new stack frame.

Cada chamada recursiva adiciona um novo stack frame.

Use bt in gdb to list every stack frame.

Use bt no gdb para listar cada stack frame.

Cuidado

Depender do layout exato do frame no código, pois ele varia com a arquitetura e o compilador.

Sinônimos

registro de ativação

Veja também

Todos os termos de C