2009-10-07 26 views
6

Tôi chỉ muốn đổ lõi mà không dừng chương trình. Điều này sẽ cần thiết phải tuần tự hóa toàn bộ trạng thái của chương trình. Một điều rất tiện lợi để gỡ lỗi sau.Có thể peridocally tiết kiệm trạng thái của chương trình thông qua một bãi chứa lõi?

Có thể trong linux không?

+0

Điều này thực sự là một bản sao, xem http://stackoverflow.com/questions/131439/how-can-ac-program-produce-a-core-dump- của chính nó-không-chấm dứt – Artelius

Trả lời

6

tôi tìm thấy giải pháp đơn giản:

$gcore 
usage: gcore [-o filename] pid 

Nó được phân phối với gdb.

+0

Điều đó trông giống như loại chương trình tôi đã muốn trong nhiều năm! Đáng tin cậy hơn nhiều so với kill -11 :-) Cảm ơn Łukasz! –

+0

Rất vui được trợ giúp. :) –

2

Tôi không nghĩ đây chính là thứ bạn muốn (trừ khi bạn muốn tạm dừng chương trình trong khi kiểm tra hoặc thậm chí sửa đổi bộ nhớ), nhưng hãy xem CryoPID.

0

nên được doable, ít nhất/proc // smaps chứa thông tin của bộ nhớ xử lý và bộ nhớ thực tế nên có thể truy cập thông qua/dev/mem

Tôi nghĩ rằng bạn cần phải đình chỉ quá trình để tránh tham nhũng của thông tin bị bắt, mặc dù.

1

Thậm chí tốt hơn !!! Gdb 7.0 có hỗ trợ gỡ lỗi đảo ngược. Và nó đã được phát hành ngày hôm qua, những gì một sự trùng hợp ngẫu nhiên: D

Các vấn đề liên quan