LINUX.ORG.RU

ulimit -c unlimited

Ещё на стаковерфлоу нашёл такой код, чтобы не трогать ulimit:

#include <sys/resource.h>

// core dumps may be disallowed by parent of this process; change that
struct rlimit core_limits;
core_limits.rlim_cur = core_limits.rlim_max = RLIM_INFINITY;
setrlimit(RLIMIT_CORE, &core_limits);

X10Dead ★★★★★
()
Последнее исправление: X10Dead (всего исправлений: 2)

Ткните носом, как в линуксе собирать дампы после крэша программы?

5 звёзд, бывший модератор, а такие вопросы задаёт... :)

Сначала смотрим /proc/sys/kernel/core_pattern, потом ulimit -c, если нужно исправляем, потом роняем программу - профит

Harald ★★★★★
()
Ответ на: комментарий от X10Dead

Во! Класс! Т.е. можно сделать, чтобы тестировщику не пришлось что-то делать? Типа дебаг-версия проги сама соберет дамп в случае падения. Было бы здорово.

hibou ★★★★★
() автор топика
Ответ на: комментарий от hibou

Код делает тоже самое, что и приведенная выше команда, ты верно понял.

X10Dead ★★★★★
()
Ответ на: комментарий от hibou

Я это в скрипте запуска софтины делал (если амнезия не поборола)... Кстати, хорошая штука эти дампы, реально ищется подляна в коде.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Кстати имя дампа тоже можно поменять

http://www.linuxhowtos.org/Tips and Tricks/coredump.htm

Here is a small list of possible variables

%p:       pid
%<NUL>:   '%' is dropped
%%:       output one '%'
%u:       uid
%g:       gid
%s:       signal number
%t:       UNIX time of dump
%h:       hostname
%e:       executable filename
%<OTHER>: both are dropped

If core_pattern does not include «%p» (default does not) and core_uses_pid is set, then .PID will be appended to the filename. example:

echo "core.%e.%p" > /proc/sys/kernel/core_pattern

produces files names

core.<executable>.<pid>

alx777 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.