Włączyłem nieograniczony rozmiar pliku podstawowego za pomocą ulimit:
ulimit -a
core file size (blocks, -c) unlimited
...
Wydaje mi się, że uruchomiłem zrzut pamięci, ale nie mogę zlokalizować pliku w moim domu, var / ... itd ...
Czy wiesz, gdzie Ubuntu konfiguruje lokalizację zrzutu pamięci?
ubuntu-14.04
jcalfee314
źródło
źródło
Odpowiedzi:
Myślę, że jest to bardziej kwestia jądra Linuksa niż konkretna rzecz Ubuntu. Sprawdzić
Sprawdź stronę podręcznika głównego pliku
źródło
/proc/sys/kernel/core_pattern
którym można znaleźć plik.cd /usr/share/apport/apport
nie działaDomyślnie jądro Ubuntu jest skonfigurowane do używania apport do rejestrowania zrzutów rdzeniowych. Możesz to zmienić, nadpisując
/proc/sys/kernel/core_pattern
, sprawdź sekcję „Nazewnictwo plików zrzutu pamięci” wman core
celu uzyskania szczegółowych informacji. Na przykład:echo '/tmp/core.%e.%p.%t' | sudo tee /proc/sys/kernel/core_pattern
Apport zapisuje zrzuty pamięci
/var/crash/_path_to_program.userid.crash
, ale zrobi to tylko w przypadku aplikacji zainstalowanych z głównych repozytoriów ubuntu apt.Więcej informacji na temat apport: https://wiki.ubuntu.com/Apport
źródło
Na Ubuntu 16.04.3 LTS mój zrzut pamięci głównej znajdował się pod adresem:
/var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000
Aby go uruchomić
gdb
, możesz uruchomić:apt install gdb gdb /path/to/your/binary/application-name /var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000
źródło