Как программа C может произвести дамп ядра себя без завершения?

открытый модальный в document.ready()

, например,

$(document).ready(function (){

    //open modal here
         $('#myModal').show();
      });
30
задан Joshua Swink 26 September 2008 в 00:21
поделиться

4 ответа

void create_dump(void)
{
    if(!fork()) {
        // Crash the app in your favorite way here
        abort() || (*((void*)0) = 42);
    }
}

Разветвляются, процесс тогда разрушают ребенка - он даст Вам снимок каждый раз, когда Вы хотите

58
ответ дан Ana Betts 11 October 2019 в 13:08
поделиться

Sun описывает, как получить базовый файл на Солярисе, HP-UX, Redhat и Windows здесь .

Солярис имеет gcore программу. HP-UX может иметь его. Иначе используйте gdb и его команду gcore. Windows имеет win-dbg-root\tlist.exe и win-dbg-root\adplus.vbs

3
ответ дан alanc 11 October 2019 в 13:08
поделиться

Вы действительно хотите ядро, или просто stacktrace? Если все, что Вы хотите, является stacktrace, Вы могли бы смотреть на открытый исходный код здесь и попытаться интегрировать код оттуда, или возможно просто вызов, это из командной строки достаточно.

я полагаю, что некоторый код в gdb проекте мог бы также быть полезным.

Другой думает, что Вы могли бы хотеть сделать, должен использовать gdb для присоединения к рабочему процессу.

$ gdb /path/to/exec 1234 # 1234 is the pid of the running process
3
ответ дан Ashish Ahuja 11 October 2019 в 13:08
поделиться

Исходный код для создания дампа ядра находится в 'gcore', который является частью gdb пакета.

кроме того, Sun имеет gcore.

кроме того, у Вас должен быть отдельный процесс, выполняющий дамп ядра, поскольку текущий процесс должен быть приостановлен. Вы найдете детали в gcore источнике, или можно просто выполнить gcore платформы с процессом как цель.

2
ответ дан Ashish Ahuja 11 October 2019 в 13:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: