Ich entwickle eine Anwendung, die die Eltern gibt ein Kind, um bestimmte Aufgaben zu behandeln. Ich habe ein Problem, wo ich gdb zu Follow-Fork-Modus Kind konfiguriert habe, aber nach Gabel, nach Erreichen eines Haltepunkts, sendet es ein SIGTRAP, aber das Kind irgendwie beendet und SIGCHLD an den Eltern senden.gdb debugging Kindprozess nach der Gabel (follow-fork-mode Kind konfiguriert)
Ich habe signal(SIGTRAP, SIG_IGN)
vor fork konfiguriert, so dass mein Verständnis ist, dass das Kind SIGTRAP erben und ignorieren sollte, wenn der Haltepunkt erreicht wird, aber es passiert nicht.
Bitte helfen Sie mir zu verstehen, wenn ich falsch bin.
Wie kann ich den untergeordneten Prozess erfolgreich debuggen?
„* ... nach einem Haltepunkt erreicht, sendet sie ein SIGTRAP ... *“ das ist die Art und Weise des Debugger über den Haltepunkt mitgeteilt wird. "... das Kind endet irgendwie ... *" endet normal oder abnorm? Sie können 'WIFEXITED (Status)' für den Wert verwenden, der von 'wait [...] ([...,] & status [, ...])' im übergeordneten Element zurückgegeben wird, um dies zu überprüfen. Siehe 'man 3 wait' für Details. – alk