PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Debugging von Child-Prozessen



7.e.Q
05-12-2005, 12:44
Hi hi...


ich hab mal irgendwo gelesen, daß es möglich ist, einen Kind-Prozess eines Programms so an das Programm zu binden, daß es bei einem Absturz des Childs so reagiert, wie GDB, nämlich, daß der Prozess nicht gleich beendet, sondern debugwirksam gestoppt wird.

Anders gefragt: wie kann ich einen Kind-Prozess debuggen, der gleich nach dem Start abstürzt?

Zur Info: Der erste Teil des Kind-Prozesses besteht aus einer Routine, die eine Binary entpackt (diese stürzt ab, wahrscheinlich weil die zu entpackende Datei fehlerhaft ist). Der zweite Teil ist nun diese Binary, welche nach dem Entpacken durch exec ausgeführt wird. Also es wird geforkt, entpackt und das entpackte Binary ausgeführt. Das Entpacken findet im Child-Prozess statt, welcher später durch die aus dem Entpackprozess resultierende Binary ersetzt wird. Wenn ich mich wiederholt hab, sorry, aber doppelt hält besser. Alles klar?! ;)



Gruß,
Hendrik

RapidMax
05-12-2005, 21:15
Alles klar?! ;)
Nö :p

Bei gdb kannst du mit "set follow-fork-mode child" Child-Prozesse debuggen, falls der gdb mit dieser Funktion kompiliert wurde.

Gruss, Andy

7.e.Q
06-12-2005, 08:56
hmm, ja, das könnte gehen... moment...