201 업데이트 : 이제 @ h-hellyer 솔루션 (lldnode, mld보다는 lldb 기반)을 사용할 수 있습니다. https://stackoverflow.com/a/40045103/3221630
mdb + mdb_v8이 최선의 방법입니다.
mdb를 사용하려면 지원되는 OS가 필요합니다.
이제 Linux에서 실행될 가능성이 큽니다. 이 사건의 경우 :
1 부 핵심은
당신은 여러 가지 방법으로 코어 덤프를 얻을 수 있습니다 덤프 얻을. 은 당신이 할 수있는 실행중인 프로세스에서 코어 덤프를 얻으려면 :
pgrep -lf node # get pids
gdb -p your_pid
# once in gdb..
gcore # this will output your core dump
detach # this will allow the process to continue to run.
2 부 사용 MDB는 솔라리스, 오픈 솔라리스, IllumOS 또는 SmartOS에 대해 알고있는 기회가있다
. 대부분의 경우에는 그렇지 않습니다. SmartOS 및 mdb_v8을 설정할 시간이 있으면 괜찮습니다.
그렇지 않으면 VirtualBox를 설치 한 다음 autopsy을 설치하십시오. 이것은 SmartOS를 설치하고 코어 덤프 파일을 VM에 업로드하는 의식을 처리합니다.
일단 완료되면 mdb 세션에있을 때이 presentation의 단계 중 일부를 수행 할 수 있습니다.
이 (http://www.infoq.com/presentations/Debugging-Production-Systems) :
여기에 메모리 분석을 위해 llnode 사용에 대한 전체 기사가있다. 코어 파일에서 mdb를 사용할 수 있도록 joyent에서 smartos를 실행해야한다고 생각하지만 실제로는 잘 모르겠습니다. – crickeys
참고를 보내 주셔서 감사합니다. MDB 모듈의 소스 코드와 바이너리 모두 1 년 이상 사용할 수 있습니다. Joyent Public Cloud에 내장 된 SmartOS (http://smartos.org/)에 내장되어 있으며 소스는 github (https://github.com/joyent/illumos-joyent/blob/master)에 있습니다. /usr/src/cmd/mdb/common/modules/v8/mdb_v8.c). –