2011-10-13 12 views
9

Pytanie newbie: czy ktoś może mi podpowiedzieć, jak rozumieć/interpretować to, co jest wyświetlane w okienku var debuggera?zrozumienie wyświetlania var vargera debuggera

Ex: Przekazuję NSDictionary jako parametr metody. Ustawiłem punkt przerwania, aby sprawdzić wartości w słowniku. Obraz poniżej (jeśli przechodzi przez ...) pokazuje rozszerzony widok tego var w debugerze. Prawidłowo zgłasza, że ​​zawiera 3 pary nazwa/wartość, ale po rozwinięciu wszystkich sekcji, po prostu nie mogę znaleźć miejsca, w którym są przechowywane.

Czy muszę utworzyć lokalne vars tych par nazwa/wartość, aby wyświetlić je, gdy chcę sprawdzić? Wiem, że mogę używać NSLog lub printf, ale czasami chcę tylko szybki podgląd.

dictionary var in debugger

Odpowiedz

17

Prawo kliknij zmienną, kliknij „Edytuj zestawienie Format” i wpisz następujące polecenie:

{(NSString*)[$VAR description]}:s 

ta zastępuje formatowania GDB dla NSDictionary z wezwaniem do droższej metody opisu.
Oznacza to, że zamiast "x pary klucz/wartość", zobaczysz zawartość słownika w postaci - [NSDictionary description].

To jest to samo, co wpisanie po dictionary w oknie konsoli. Lub kliknij prawym przyciskiem myszy zmienną i wybierz "Drukuj opis". Obaj nazywają metodę opisu obiektu.


Jeśli jesteś ciekawy, można znaleźć tego formatowania w /Developer/Library/Xcode/CustomDataViews/Foundation.plist pod klucz NSDictionary. To, co wpiszesz jako zamiennik, zostanie zapisane w numerze /Users/USERNAME/Library/Developer/Xcode/UserData/Debugger/CustomDataFormatters i będzie trwało przez cały czas, dopóki nie usuniesz tego pliku.

NSDictionary to tak naprawdę klaster klasy i niewiele osób zna strukturę wewnętrzną. W tym momencie nie znajdziesz dużego pożytku dla tego drzewa debuggera.

+0

dzięki - prawo opis click/print nie praca dla mnie. –

+0

Ten link zawiera więcej opisów: http://disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/XcodeDebugging/220- Wyświetlanie_Variables_and_Memory/variables_and_memory.html – syvex

-1

To jest to, czego szukasz: kliknięcie swojej dict, a następnie kliknąć na ikonę małego „i” :-) Xcode5, view the value of a dict