2012-05-22 14 views
11

Od kilku godzin szukam w Google informacji, że istnieje jakiś sposób na wyczyszczenie wyjścia NSLog za pomocą kodu, czy nie?Czy istnieje sposób na wyczyszczenie wyjścia NSLog?

Tak jak w przypadku wersji clrscr(). Jeśli więc próbujemy wydrukować coś, na czym chcemy się skupić, a tam jest mnóstwo wydruków logów, możemy umieścić tam ten kod i uzyskać na bieżąco naszą rejestrację pragnień, aby ułatwić wyszukiwanie. Można to zrobić, umieszczając punkt przerwania na mojej linii NSLog i klikając na clear console. ale pytanie brzmi: czy istnieje sposób na osiągnięcie tego programowo?

Znalazłem kilka pytań na przepełnienie stosu, ale din't zadowolony z odpowiedzi jak this mówi, że mogę wyłączyć dziennik dla trybu zwalniania itp

Albo mogę używać DLog, AZaloguj lub ulog jako wymóg, ale moja Pytanie jest inne ..

Ktoś może mi w tym pomóc?

góry dzięki :)

Odpowiedz

9

Można użyć warunkową przerwania to zasymulować. Zdefiniować funkcję jak to w kodzie:

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

Potem, gdy chcesz wyczyścić konsolę wystarczy dodać przerwania przed NSLog tego warunku:

  • Stan: 1> 0
  • Działanie: Debugger poleceń expr (int) clear_console()
  • Opcje: automatycznie wznowione po dokonaniu oceny Zaznacz, aby pominąć pauzę.

enter image description here

Testowane z Xcode 4.3.2 i lldb.

Poprzednia odpowiedź:

AFAIK, nie, nie ma.

Jeśli nie robisz tego jeszcze, możesz utworzyć niestandardowe makra, aby sformatować dane wyjściowe, aby zaznaczyć, co chcesz.

Definiowanie makr tak:

#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__) 

Następnie:

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

To nie to, co chcesz, ale to dość dużo rozwiązuje problem. Skończycie z własnym zestawem makr z niestandardowymi prefiksami, które będą łatwo skanowane na wyjściu konsoli.

+0

Przyjemne użycie warunkowych punktów przerwania! – JustSid

+0

@madmw Jak już wspomniałeś, to nie jest to, czego szukam, ale po wielu poszukiwaniach muszę zaakceptować, że jest to najlepszy sposób, jaki pokazałeś. Naprawdę dziękuję za tę wspaniałą odpowiedź. –

Powiązane problemy