Domanda

Ho un app accumulo Objective-C su Linux con GCC 4.3 utilizzando non quadro specifico (solo GNU-runtime). Sto usando eccezioni Objective-C (tramite flag di compilazione dei '-fobjc-eccezioni').

Ora voglio stampare la traccia dello stack di tale eccezione di una, quando ho preso un po '. O che cosa mi farebbe ancora più felice:. Ha messo la traccia in una stringa o qualche tipo di struttura per valutare o stamparlo in seguito

Come può essere raggiunto?

È stato utile?

Soluzione 2

Dal momento che non è più la conoscenza è fluttuante nel, qui è quello che ho scoperto da sola:

Almeno sotto Linux posso usare la GNU estensioni backtrace e backtrace_symbols per ottenere gli indirizzi dello stack di chiamate e le corrispondenti simboli. Questo aiuta un po ', ma è lontano dalle informazioni che gdb dà. Non ci sono né numeri di linea né valori argomenti.

Con l'estensione dladdr glibc posso ottenere informazioni simili ma non altrimenti.

Questo è ancora non è esattamente quello che sto cercando, ma nessuno ha ottenuto così clausola - così avrei accettato la mia risposta personale:. (

Altri suggerimenti

  NSArray * stack = [NSThread callStackSymbols];

Può essere utile.

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