2009-10-07 15 views
6

Po prostu chcę zrzucić rdzeń bez zatrzymywania programu. Wymagałoby to serializacji całego stanu programu. Bardzo wygodna funkcja do późniejszego debugowania.Czy można zapisać stan programu za pomocą zrzutu pamięci?

Czy to możliwe w systemie Linux?

+0

To jest właściwie duplikat, zobacz http://stackoverflow.com/questions/131439/how-can-ac-program-produce-a-core-dump- samo-bez-kończenia – Artelius

Odpowiedz

6

mogę znaleźć proste rozwiązanie:

$gcore 
usage: gcore [-o filename] pid 

, jest rozprowadzany przez gdb.

+0

To wygląda na program, jakiego pragnąłem od lat! O wiele bardziej wiarygodne niż zabicie -11 :-) Dzięki Łukasz! –

+0

Chętnie pomogę. :) –

2

nie sądzę, to jest dokładnie to, co chcesz (chyba chcesz aby wstrzymać program podczas kontroli, a nawet modyfikować pamięć), ale spojrzeć na CryoPID.

0

powinny być wykonalne, przynajmniej/proc // smaps zawiera informacje z pamięci procesu i rzeczywistą pamięć powinna być dostępna poprzez/dev/mem

myślę, że trzeba zawiesić ten proces, aby uniknąć uszkodzenia z następujących przechwycone informacje.

1

Jeszcze lepiej !!! Gdb 7.0 mają wsparcie dla debugowania odwracalnego. I zostało wydane wczoraj, co za zbieg okoliczności: D

Powiązane problemy