So, nun rennt der Prozess und ca alle 15 Sekunden tritt ein Segfault auf, der Prozess wird aber als Childprozess vom Nagios immer wieder neu gestartet wenn er crashed. Was kann ich nun tun damit ich das debugge?
Core wird keiner erzeugt bzw weiß ich ned wo der liegt (sollte ja im PWD des Users liegen, Nagios wird aber ueber init skript gestartet)
du findest die pid des kindprozesses innerhalb der 15 sekunden heraus (ps -ef | grep oder pstree -apu und kill ) und sendest dem prozess ein sigstop
dann hängst du in ruhe den debugger an den prozess
gdb [I]programmname pid[/I]
und sendest ihm ein sigcont
meiner meinung nach müsste der debugger den prozess dann an der richtigen stelle anhalten, sodass du mit bt eine stacktrace ausgeben kannst. möglicherweise musst du noch vorher das sourcedir mitgeben, siehe oben..
edit: bei mir funktioniert das mit dem stoppen nicht, gdb (6-6debian) schreibt einen internal error, assertion failed. bin nicht sicher, ob das nicht ein bug ist, einige mailinglist-einträge deuten darauf hin. wie auch immer, davewood, du kannst eigentlich genausogut schnell den debugger direkt attachen, der hält den prozess dann erst mal an, bis du continue sagst.
lg