core dumps

Iniciado por brayner, 18 de Junho de 2006, 23:02

tópico anterior - próximo tópico

brayner

Oi, Pessoal
Estou programando em C e sinto falta dos core dumps q sao gerados quando ocorre algum erro (principalmente os segmentation faults) na compilação ou execução dos programas. Analisando na internet busquei algumas soluções com p.ex, modificar a linha relativa aos cores no arquivo /etc/security/limits.conf; ou utiizando o comando ulimit -c unlimited.
No entanto nenhuma das duas foram satisfatórias( continuo sem os cores). Alguém tem alguma idéia para solucionar o problema. :cry:

Learjet

sentes falta quer dizer q nc aparece?

seg faults são erros de memoria qdo tás a escrever fora so stack reservado ao programa... se n der é bom!

sinceramente n percebi a pergunta...

brayner

Quero dizer q quando acontece os erros, nao aparece nenhum arquivo core para q eu possa, por exemplo usar o gdb para fazer um debug

Lamego

Verifica que tens o tamanho limite para core dumps ilimitado:

lamego@lamego-desktop:~$ ulimit -c
unlimited
lamego@lamego-desktop:~$

Se tens então garantidamente se acontecer um erro de programação que gere core dump ele será criado.
João Luís Marques Pinto
Mais programs e jogos para o Ubuntu

brayner

brayner@ubuntu:~$ ulimit -c
0
brayner@ubuntu:~$

Parece que o tamanho limite esta configurado para 0Kb e por isso nao estou recebendo arquivos .core, apesar de ja ter modificado o arquivo /etc/security/limits.conf como dito anteriormente.
Não sei se o que estou dizendo está correto porque o retorno do comando ulimit -c, para mim nao diz muito se vc tiver como referencia o manpage do comando (man 3 ulimit), ficará um pouco perdido como eu estou.
Lamengo será que isso diz aluguma coisa para vc.

Lamego

Eu não costumo alterar no limits.conf .
Quando preciso de verificar os cores normalmente "activo" manualmente com o comando "ulimit -c unlimited" antes de correr o programa.
Se quero permanente coloca no .bashrc do meu utilizador.
João Luís Marques Pinto
Mais programs e jogos para o Ubuntu

brayner

Obrigado Lamego pelo esclarecimento :D