2012-05-22 17 views
11

Ho cercato su Google un paio di ore per scoprire che esiste un modo per cancellare l'output NSLog usando il codice o no?Esiste un modo per cancellare l'output NSLog?

Come abbiamo clrscr() in c. Quindi, se stiamo cercando di stampare qualcosa su cui vogliamo focalizzarci di più e c'è un sacco di stampa del registro, possiamo inserire quel codice e mantenere il registro dei desideri in alto per una facile ricerca. Questo può essere fatto inserendo il breakpoint sulla mia linea NSLog e poi su clear console. ma la domanda è che c'è un modo per raggiungere questo programma?

ho trovato alcune domande su stack overflow, ma io din't soddisfatto della risposta come this sta dicendo che posso disabilitare log per modalità di rilascio ecc

O posso usare dlog, AAccedere o ULOG come requisito, ma la mia la domanda è diversa ..

Qualcuno può aiutarmi in questo?

Grazie in anticipo :)

risposta

9

È possibile utilizzare un punto di interruzione condizionale simulare. Definire una funzione come questa nel codice:

int clear_console() 
{ 
    NSLog(@"\n\n\n\n\n\n\n\n"); 
} 

Poi, quando si desidera cancellare la console è sufficiente aggiungere un punto di interruzione prima della NSLog con questa condizione:

  • Condizione: 1> 0
  • Azione: Debugger Command expr (int) clear_console()
  • Opzioni: continua automaticamente dopo aver valutato Controllarlo per saltare la pausa.

enter image description here

testato con Xcode 4.3.2 e lldb.

risposta precedente:

per quanto ne so, no, non c'è.

Nel caso in cui non lo si stia ancora facendo, è possibile creare macro personalizzati per formattare l'output per evidenziare ciò che si desidera.

definire macro in questo modo:

#define CLEAR(...)   NSLog(@"\n\n\n\n\n\n") /* enough \n to "clear" the console */ 
#define WTF(...)   CLEAR();NSLog(@"!!!!!!!!!!!!!!");NSLog(__VA_ARGS__) 
#define TRACE(__message__) NSLog(@">>>>>>>>>>>>>>> %@ <<<<<<<<<<<<<<<<<<<", __message__) 

Poi:

WTF(@"This should't be here object: %@", theObject); 
... 
TRACE(@"Start Encoding"); 
... 

Non è ciò che si vuole, ma si risolve praticamente il problema. Finirai con il tuo set di macro con prefissi personalizzati facilmente scansionabili nell'output della console.

+0

Bel uso di punti condizionali! – JustSid

+0

@madmw Come hai detto questo non è quello che sto cercando, ma dopo molte ricerche devo accettare che questo è il modo migliore che hai mostrato. Davvero grazie per questa grande risposta. –

Problemi correlati