Utilizzando gdb, sto cercando di rintracciare le chiamate di funzione di un server web. Ho impostato i breakpoint su ogni chiamata di funzione e quando dico a gdb di "eseguire" si interrompe in tutti i punti giusti mentre il server si avvia. Quindi gdb dice 'Programma terminato con il codice 01' e non si ferma più ai breakpoint (ovviamente). Tuttavia, il server Web è ancora in esecuzione.gdb in esecuzione su un server Web
Voglio essere in grado di rintracciare le chiamate di funzione effettuate su una richiesta HTTP in ingresso, quindi interrompere l'operazione durante l'avvio del server è inutile per me.
C'è qualche trucco nell'usare gdb quando si traccia un server daemon in modo che non termini come sopra?
Se il server Web in questione è Apache, è probabile che l'impostazione della modalità a forcella diretta * non * funzioni: per impostazione predefinita Apache forchetta diversi figli e non si sa quale gestirà una particolare richiesta. È probabile anche l'impostazione di "MaxClients 1". –