Come si fa a allegare automaticamente un debugger a un processo all'avvio processo su OS X?

StackOverflow https://stackoverflow.com/questions/1384284

  •  21-09-2019
  •  | 
  •  

Domanda

Ho un processo che genera un processo aiutante. A volte ho bisogno di eseguire il debug guasti start-up nel secondo processo.

In Windows, userei Image File Execution Options o ntsd -o. Tuttavia, non ho idea di come fare questo con gdb su OS X.

È stato utile?

Soluzione

Utilizzare gdb --wait. Ad esempio, provare

gdb --wait TextEdit

dalla riga di comando, quindi lanciare TextEdit.

Altri suggerimenti

Non credo che si può avere lancio gdb nello stesso modo. Invece, eseguire il processo padre da dentro gdb o connettersi al processo in esecuzione prima che si biforca l'assistente off. C'è un'impostazione chiamata follow-fork-mode che controlla che elaborano il debugger segue. Date un'occhiata a GDB manuale per una bella descrizione.

Se stai usando launchd per deporre le uova processi, poi c'è una chiave booleana WaitForDebugger che va nel documento plist del lavoro. Se è sì, allora launchd attese (sorprendentemente!) Per il debugger prima di exec()ing il lavoro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top