Erzwinge das Abladen eines Kerns von einem aktiven, normal laufenden Programm unter FreeBSD
Ich Schreibe, error-handling-code für einen server auf FreeBSD. Für äußerst schwerwiegende Fehler, die ich vermeiden will, Beschädigung der Daten durch sofort beenden. Das ist einfach, exit(3)
. Bevor ich Ausstieg, habe ich die Ausgabe meiner relevanten Variablen führte mich dort. Jedoch, im Idealfall, diese Kündigung würde werden begleitet von einem .core
so, dass ich mich vollständig zu untersuchen, was mich zu dieser katastrophalen (und wahrscheinlich schwer zu reproduzieren) Zustand.
Wie kann ich die Kraft dies zu geschehen?
InformationsquelleAutor der Frage Nektarios | 2011-07-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
kill -QUIT process_id
verursacht einen core-dump von einem Laufenden Prozess (unter der Annahme, dass Ressourcen-limits es zulassen).Oder sehen
man 3 abort
für was ein Programm dump selbst.Hinzugefügt: Von einer interaktiven shell, ein laufendes Programm kann gemacht werden, zum Abbruch mit der "quit" - Taste, in der Regel Strg+\, die sendet SIGQUIT nur als das häufigste Strg+C sendet ein SIGINT. Dies ist identisch zu der
kill -QUIT…
es ist einfach leichter zu geben, wenn Sie auf dem kontrollierenden terminal. Sehenman 1 stty
wenn Ihr Standard - "quit" - Taste anders ist.InformationsquelleAutor der Antwort msw
Diese mir geholfen haben!!
kill -11
funktioniert immer für mich. 11 SIGSEGV (invalid memory reference)InformationsquelleAutor der Antwort Aadishri
Vielleicht möchten Sie auch einen Blick auf gcore(1) (http://man.freebsd.org/gcore).
InformationsquelleAutor der Antwort Edward Tomasz Napierala