определен макрос WCOREDUMP, который возвращает
определен макрос WCOREDUMP, который возвращает истинное или ложное значение в зависимости от установки этого бита в своем аргументе. Тем не менее следует учесть, что макрос WCOREDUMP не определен спецификацией XSI. С применением этого макроса предыдущий пример можно переписать так:
(* Проверка, получил ли дочерний процесс сигнал *)
if WIFSIGNALED(status) then
begin
sig_no := WTERMSIG(status);
writeln('Сигнал номер ', sig_no, ' завершил процесс ', pid);
if WCOREDUMP(status) then
writeln('... создан файл дампа памяти');
end;
Формат файла core известен отладчикам UNIX, и этот файл можно использовать для изучения состояния процесса в момент сброса образа памяти. Этим можно воспользоваться для определения точки, в которой возникает проблема.
Стоит также упомянуть функцию abort, которая не имеет аргументов:
abort;
Эта функция посылает вызвавшему ее процессу сигнал SIGABRT, вызывая его аварийное завершение, то есть сброс образа памяти. Процедура
abort полезна в качестве средства отладки, так как позволяет процессу записать свое текущее состояние, если что-то происходит не так. Она также иллюстрирует тот факт, что процесс может послать сигнал самому себе.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий