반응형
실행중인 프로세스와 해당 기호 테이블의 코어 덤프를 얻을 수 있습니까?
gdb를 얻거나 다른 도구를 사용하여 실행중인 프로세스와 심볼 테이블의 코어 덤프를 만들 수 있습니까? 프로세스를 종료하지 않고이를 수행 할 수있는 방법이 있다면 좋을 것입니다.
가능하다면 어떤 명령을 사용 하시겠습니까? (나는 리눅스 박스에서 이것을 시도하고있다)
$ gdb --pid = 26426 (gdb) gcore 저장된 corefile core.26426 (gdb) 분리
또는 gcore $(pidof processname)
.
이는 가능한 가장 짧은 시간에 연결 및 분리 할 수있는 이점 (gdb 실행 및 CLI에 명령 실행보다)이 있습니다.
generate-core-file
gdb에서 명령을 사용 하여 실행중인 프로세스의 코어 덤프를 생성 할 수 있습니다 .
참고 : 다음 방법은 실행중인 프로세스를 종료하고 기호도 필요합니다.
실행중인 프로세스에 다음 신호 (action = core 포함) 중 하나를 보낼 수 있습니다.
From : http://man7.org/linux/man-pages/man7/signal.7.html
Signal Value Action Comment
──────────────────────────────────────────────────────────────────────
SIGHUP 1 Term Hangup detected on controlling terminal
or death of controlling process
SIGINT 2 Term Interrupt from keyboard
SIGQUIT 3 Core Quit from keyboard
SIGILL 4 Core Illegal Instruction
SIGABRT 6 Core Abort signal from abort(3)
SIGFPE 8 Core Floating point exception
SIGKILL 9 Term Kill signal
SIGSEGV 11 Core Invalid memory reference
SIGPIPE 13 Term Broken pipe: write to pipe with no
readers
SIGALRM 14 Term Timer signal from alarm(2)
SIGTERM 15 Term Termination signal
SIGUSR1 30,10,16 Term User-defined signal 1
SIGUSR2 31,12,17 Term User-defined signal 2
SIGCHLD 20,17,18 Ign Child stopped or terminated
SIGCONT 19,18,25 Cont Continue if stopped
SIGSTOP 17,19,23 Stop Stop process
SIGTSTP 18,20,24 Stop Stop typed at terminal
SIGTTIN 21,21,26 Stop Terminal input for background process
SIGTTOU 22,22,27 Stop Terminal output for background process
이렇게 :
kill <signal> <pid>
코어가 있으면 기호 파일과 함께 gdb에서 열 수 있습니다.
반응형
'Nice programing' 카테고리의 다른 글
Java8 : 목록에있는 개체의 특정 필드 값 합계 (0) | 2020.12.07 |
---|---|
여러 window.onload 이벤트 추가 (0) | 2020.12.07 |
Python의 순환 종속성 (0) | 2020.12.07 |
벡터 렌더링 외에 AS3의 주요 성능 저하 요인은 무엇입니까? (0) | 2020.12.07 |
여러 if와 elif의 차이점은 무엇입니까? (0) | 2020.12.07 |