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?
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?
mogę znaleźć proste rozwiązanie:
$gcore
usage: gcore [-o filename] pid
, jest rozprowadzany przez gdb.
To wygląda na program, jakiego pragnąłem od lat! O wiele bardziej wiarygodne niż zabicie -11 :-) Dzięki Łukasz! –
Chętnie pomogę. :) –
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.
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.
Jeszcze lepiej !!! Gdb 7.0 mają wsparcie dla debugowania odwracalnego. I zostało wydane wczoraj, co za zbieg okoliczności: D
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