Jak debugować projekt w C ++ za pomocą Qt Creator?
Próbuję użyć Qt Creator na macOS do debugowania projektu C ++, ale wydaje się, że utknąłem na czymś. Sprawdź zrzut ekranu poniżej.
Chciałbym zobaczyć zawartość tablicy charset.
czy robię coś źle? Jakieś sugestie?
Odpowiedzi
Doświadczyłem tego samego w przeszłości, próbując debugować na urządzeniach z Androidem.
Jeśli nie używasz najnowszej wersji QtCreator, powinieneś to zrobić.
Jeśli problem będzie się powtarzał, powinieneś zgłosić błąd Qt: https://bugreports.qt.io/. Następnie, miejmy nadzieję, naprawią to w następnej wersji.
Używam CDB do debugowania tego samego kodu i działa normalnie.
Na podstawie żółtych trójkątów ostrzegawczych na Twoim zdjęciu wygląda na to, że model kodu ostrzega, że używasz niezainicjowanych danych. (Właściwie jestem zaskoczony, że Twój kompilator pozwolił ci to zrobić.) Zastanawiam się, czy tablica, którą próbujesz odczytać, została zoptymalizowana, a debugger nie wie, co wyświetlić.
Sugerowałbym zainicjowanie tej tablicy i sprawdzenie, czy debugger może następnie pokazać zawartość.
Widzę trzy potencjalne problemy z twoim kodem:
Błąd nr 1: nie inicjalizuje się charsetdo zera (używając memset), więc będzie zawierał nieprzewidywalne wartości.
Bug # 2: Nigdy tablicą, więc dostępna pamięć będzie coraz mniejsze i mniejsze, jak przebiegów programu. (Możesz naprawić te dwa błędy, deklarując )deletecharsetbool charset[256];
Potencjalny błąd nr 3: valto plik char. Więc jeśli charjest podpisany domyślnie w twoim systemie, to valmoże być ujemny i nie nadaje się do użycia jako indeks tablicy.
Ale nie wiem, dlaczego nie możesz zbadać zawartości charset.