2016-09-14 13 views
1

Я получил простую гр программу для проверки "дамп" поведениеC++: Как сделать файл ядра «core» перезаписан при возникновении нового сбоя?

$ кошка 1.c

int main() 
{ 
    int buf[]={1,2}; 
    int j=buf[20000]+buf[30000]; 
    return 0; 
} 

я сделал:

$ ulimit -c unlimited 
$ gcc 1.c 
$ a.out 

Он генерирует файл дампа, не проблема. Я снова запускаю «a.out», на этот раз предыдущий «основной» файл не был перезаписан, если я не удаляю файл ядра вручную, а затем генерируется новый файл ядра.

Вопрос: как настроить lubuntu linux, чтобы каждый раз, когда произошел сбой, новый файл дампа ядра перезапишет старый?

Благодаря

ответ

2

Вы можете переключать добавление PID в файл дампа, поэтому каждый раз, когда программа началась с нового Pid основного имени будет иметь новый PID, как «расширение»

echo 1 > /proc/sys/kernel/core_uses_pid 

также, прочитать this с гораздо более подробности

+1

Этот файл/proc/xxx кажется только для чтения, даже root не может его изменить. Должен измениться /etc/sysctl.conf и добавить одну строку как: kernel.core_pattern = core.% E.% P.% H.% T, где «% e» означает «исполняемое имя», «% p» означает pid, «% h» означает имя хоста, а «% t» означает метку времени –

 Смежные вопросы

  • Нет связанных вопросов^_^