Na ovoj stranici

Pregledajte osnovne Qt objekte

Najmoćnija značajka otklanjanja pogrešaka jest ta da prikazi Locals a i Expressions a prikazuju podatke koji pripadaju osnovnim Qt objektima. Na primjer, u slučaju QObject a, umjesto pokazivača na neku privatnu strukturu podataka, vidite popis djece, signala i slotova.

Qt CreatorSlično tome, umjesto prikaza mnogih pokazivača i cjelobrojnih vrijednosti, debuger prikazuje sadržaj QHash a ili QMap a na uredan način. Također, debuger prikazuje podatke o pristupu za QFileInfo i stvarni sadržaj QVariant a.

Promijenite format prikaza vrijednosti

U prikazu Locals ili Expressions odaberite Change Value Display Format u kontekstualnom izborniku kako biste promijenili format prikaza vrijednosti. Dostupne opcije ovise o vrsti trenutačnih stavki i pružaju ih pomoćnici za otklanjanje pogrešaka.

Za prisilno prikazivanje struktura u jednostavnom C-sličnom formatu, idite na Preferences > Debugger > Locals & Expressions i zatim uklonite kvačicu za Use Debugging Helpers.

Zabavne i izrazi u kartici Debugera

Ovo i dalje koristi Python skripte, ali generira osnovniji izlaz. Da biste prisilili jednostavno prikazivanje za jedan objekt ili za sve objekte određene vrste, odaberite Change Value Display Format > Raw u kontekstnom izborniku prikaza Locals ili Expressions.

Obično možete promijeniti kodiranje za podatke nalik nizovima, kao što su QByteArray i std::string, ili prikazati podatke u punom prozoru uređivača.

Možete odabrati kompaktnu opciju za podatke nalik karti, kao što su QMap, QHash i std::map, koja koristi stupac Name za ključeve i rezultira sažetim prikazom spremnika s kratkim ključevima, kao što su brojevi ili kratke naredbe. Na primjer, da biste proširili sve vrijednosti QMap, odaberite Change Value Display Format > Compact.

Za nizove možete odabrati Change Value Display Format > Separate Window kako biste vidjeli sadržaj niza u uređivaču teksta umjesto kao pojedinačni unos u prikazu. Za QPixmap možete vidjeti kako se piksmapa stvara piksel po piksel pri izvođenju korak po korak koda.

Promijenite vrijednosti varijabli

Možete koristiti prikaz Locals i Expressions za promjenu sadržaja varijabli jednostavnih tipova podataka, na primjer int, float, QString i std::string, kada je aplikacija prekinuta. Da biste to učinili, odaberite stupac Value, izmijenite vrijednost pomoću ugradbenog uređivača i pritisnite Enter.

Da biste promijenili cjelokupni sadržaj vrijednosti QVector ili std::vector, upišite sve vrijednosti odvojene zarezima u stupac Value glavnog unosa. Međutim, Qt Creator ne pokušava ponovno dodijeliti memoriju za varijable, pa primjenjuje promjene samo ako se novi sadržaj stane u staru memoriju i ako otklanjivač pogrešaka podržava promjenu vrijednosti.

Povezivanja signala i slotova

Ako je instanca klase naslijeđena od QObject, možete pronaći sve ostale objekte povezane s utorima ovog objekta pomoću Qt mehanizma signala i utora. Idite na Preferences > Debugger > Locals & Expressions > Use Debugging Helpers.

U prikazu Locals proširite unos objekta i otvorite slot u podstavki slots. Prikaz prikazuje objekte povezane s ovim slotom kao djecu slota. Slično tome, možete prikazati djecu signala.

Podaci niske razine

Ako ne možete otkloniti greške u Qt objektima jer su njihovi podaci oštećeni, možete isključiti pomoćnike za otklanjanje grešaka kako biste vidjeli niske razine struktura.

Da biste isključili pomoćne alate za otklanjanje pogrešaka, očistite stavku " Use Debugging Helpers " u izborniku " Preferences " > " Debugger " > " Locals & Expressions".

Vidi također Kako: otklanjanje pogrešaka, otklanjanje pogrešaka i otklanjači pogrešaka.

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.