2017 cập nhật: Bây giờ bạn có thể sử dụng giải pháp @ h-hellyer (llnode, dựa trên lldb thay vì mdb). https://stackoverflow.com/a/40045103/3221630
mdb + mdb_v8 là cách để thực hiện.
Để sử dụng mdb, bạn sẽ cần một hệ điều hành được hỗ trợ.
Hiện tại, rất có thể bạn sẽ chạy trên Linux. Nếu đây là trường hợp của bạn:
Phần 1. lấy kho cốt lõi của bạn
Bạn có thể tải kết xuất lõi của mình theo nhiều cách. Để có được bãi chứa lõi của bạn từ một quá trình đang chạy, bạn có thể làm điều này:
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.
Phần 2. sử dụng mdb
Có một cơ hội bạn biết về Solaris, OpenSolaris, IllumOS hoặc SmartOS. Nhiều khả năng đây không phải là trường hợp. Nếu bạn có thể đủ khả năng thời gian thiết lập SmartOS và mdb_v8, tốt.
Nếu không, hãy cài đặt VirtualBox, sau đó autopsy. Thao tác này xử lý nghi thức cài đặt SmartOS cũng như tải các tệp kết xuất lõi của bạn lên máy ảo.
Khi bạn đã hoàn tất và khi bạn đang ở trong phiên mdb, bạn có thể làm theo một số bước từ presentation này.
Chỉ cần nhìn này (http://www.infoq.com/presentations/Debugging-Production-Systems). Tôi nghĩ rằng bạn phải chạy một smartos từ joyent vì vậy bạn có thể sử dụng mdb trên tập tin lõi, nhưng tôi không thực sự chắc chắn. – crickeys
Cảm ơn bạn đã tham khảo. Cả mã nguồn và mã nhị phân cho mô-đun MDB đã có sẵn trong hơn một năm. Chúng được tích hợp vào SmartOS (http://smartos.org/), được tích hợp trên Đám mây công cộng Joyent và nguồn trên github (https://github.com/joyent/illumos-joyent/blob/master /usr/src/cmd/mdb/common/modules/v8/mdb_v8.c). –