Jeśli masz tablicę przydzieloną statycznie, debuger programu Visual Studio może łatwo wyświetlić wszystkie elementy tablicy. Jeśli jednak masz tablicę przydzieloną dynamicznie i wskazywaną przez wskaźnik, po kliknięciu + w celu jej rozwinięcia wyświetli się tylko pierwszy element tablicy. Czy istnieje łatwy sposób, aby powiedzieć debugerowi, aby pokazać mi te dane jako tablicę typu Foo i rozmiaru X?
c++
c
visual-studio
debugging
Adam Rosenfield
źródło
źródło
Istnieją dwie metody przeglądania danych w tablicy m4x4:
Jednym ze sposobów jest okno Watch (Debugowanie / Windows / Watch). Dodaj zegarek =
Spowoduje to wyświetlenie danych w postaci listy:
Innym sposobem jest okno pamięci (debugowanie / Windows / pamięć). Określ adres początkowy pamięci =
Spowoduje to wyświetlenie danych w tabeli, która jest lepsza w przypadku macierzy dwu- i trójwymiarowych:
Kliknij prawym przyciskiem myszy okno Pamięć, aby określić sposób wizualizacji danych binarnych. Wybory są ograniczone do liczb całkowitych, liczb zmiennoprzecinkowych i niektórych kodowań tekstu.
źródło
W oknie obserwacyjnym dodaj przecinek po nazwie tablicy i liczbie elementów, które mają być wyświetlane.
źródło
rewizyta:
załóżmy, że masz poniższy wskaźnik:
następnie możesz napisać poniżej w zegarku debugowania programu Visual Studio:
który przerzuci go na tablicę jak poniżej i możesz wyświetlić całą zawartość za jednym razem.
źródło
Dla,
dodaj to do obejrzenia
źródło
Jeszcze inny sposób, aby to zrobić, jest określony tutaj w MSDN .
Krótko mówiąc, możesz wyświetlić tablicę znaków jako kilka typów ciągów. Jeśli masz tablicę zadeklarowaną jako:
Możesz wydrukować go jako ciąg znaków Unicode w oknie zegarka za pomocą:
Zobacz tabele na stronie MSDN dla wszystkich różnych możliwych konwersji, ponieważ jest ich całkiem sporo. Wiele różnych wariantów ciągów, wariantów drukowania poszczególnych elementów w tablicy itp.
źródło
a,[10]
pozwala zobaczyć poszczególne elementy, dzięki czemu można je rozszerzyć, nawet jeśli masz CArray złożonych typów danych.Dla tablic MFC (CArray, CStringArray, ...) po następnym linku w jego Porada nr 4
http://www.codeproject.com/Articles/469416/10-More-Visual-Studio-Debugging-Tips-for-Native-De
Na przykład dla „CArray pArray” dodaj w oknach czujki
aby zobaczyć pierwsze 5 elementów.
Jeśli pArray jest dwuwymiarowym CArrayem, możesz spojrzeć na dowolny z elementów drugiego wymiaru, używając następującej składni:
źródło
Możesz znaleźć listę wielu rzeczy, które możesz zrobić ze zmiennymi w oknie obserwacyjnym w tym klejnocie w dokumentacji: https://msdn.microsoft.com/en-us/library/75w45ekt.aspx
W przypadku zmiennej a są rzeczy już wspomniane w innych odpowiedziach, takich jak
ale istnieje wiele innych specyfikatorów formatu i rozmiaru, takich jak:
źródło
Nie znalazłem sposobu na użycie tego z tablicą wielowymiarową. Ale możesz przynajmniej (jeśli znasz indeks żądanego wpisu) dodać zegarek do określonej wartości. Po prostu użyj operatora indeksu.
W przypadku tablicy o nazwie current, która ma wewnątrz tablicę o nazwie Attribs, która zawiera tablicę o nazwie Attrib, powinna wyglądać następująco, jeśli chcesz mieć pozycję 26:
Możesz także użyć przesunięcia
pokaże "następne" 25 elementów. (Używam VS2008, pokazuje to maksymalnie 25 elementów).
źródło