Na ovoj stranici

Pregledajte osnovne Qt objekte

Najmoćnija značajka otklanjanja pogrešaka jest ta da prikazi Locals i Expressions 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.

Slično tome, umjesto prikaza mnogih pokazivača i cjelobrojnih vrijednosti, debuger Qt Creator-a 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.

Promijeni format prikaza vrijednosti

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

Debugger Locals & Expressions Use Debugging HelpersZa prisilno jednostavno C-poput prikazivanje struktura, idite na Postavke > Prikaz vrijednosti > Prikaz vrijednosti, a zatim uklonite kvačicu za Prikaz vrijednosti.

kartica Lokalne varijable i izrazi u postavkama otklanjanja pogrešaka

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, poput brojeva ili kratkih nizova. 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 korakavanju 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.

Za promjenu cjelokupnog sadržaja vrijednosti QVector ili std::vector unesite 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 otklonivač 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 Postavke > Debugger > Locals & Expressions > Use Debugging Helpers.

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

Podaci niske razine

Ako ne možete otklanjati pogreške Qt objekata jer su njihovi podaci oštećeni, možete isključiti pomoćnike za otklanjanje pogrešaka kako biste vidjeli nisko-razinske strukture.

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

Vidi također Kako: Debugging, Debugging, Debugeri i Debugger.

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.