Na ovoj stranici

Otklanjanje pogrešaka u projektima Qt Quick

Debugirajte JavaScript funkcije, izvršavajte JavaScript izraze kako biste dobili informacije o stanju korisničkog sučelja i pregledajte QML svojstva i JavaScript varijable, kao i privremeno mijenjajte njihove vrijednosti tijekom izvođenja.

Za primjer kako otkloniti pogreške u Qt Quick projektima pogledajte vodič: Otklanjanje pogrešaka u Qt Quick .

Postavljanje otklanjanja pogrešaka u QML-u

Postupak postavljanja otklanjanja pogrešaka za projekte Qt Quick ovisi o vrsti projekta: Qt Quick UI Prototype ili Qt Quick Application, i verzije Qt-a.

Otklanjanje pogrešaka u Qt Quick UI projektima

Za otklanjanje pogrešaka u Qt Quick UI projektima (.qmlproject), odaberite Automatic ili Enabled u Run Settings > Debugger Settings > QML debugger.

Odjeljak postavki otklanjanja pogrešaka u postavkama pokretanja

Otklanjanje pogrešaka u aplikacijama Qt Quick

Za otklanjanje pogrešaka u aplikacijama Qt Quick:

  1. Da biste stvorili konfiguraciju izgradnje koja podržava otklanjanje pogrešaka QML-a, idite na Projects > Build Settings.
  2. U QML debugging and profiling u odaberite Enable.

    Postavke izgradnje za CMake projekt

    Napomena: Debugiranje zahtijeva otvaranje soketa na TCP priključku, što predstavlja sigurnosni rizik. Bilo tko na internetu mogao bi se povezati na aplikaciju koju debugirate i izvršiti bilo koje JavaScript funkcije. Stoga se morate uvjeriti da je priključak ispravno zaštićen vatrozidom.

  3. U Run Settings > Debugger settings > QML debugger odaberite Automatic ili Enabled kako biste omogućili otklanjanje pogrešaka u QML-u za pokrenute aplikacije.

    Da biste istovremeno otklanjali greške u C++ i QML dijelovima vaše aplikacije, također odaberite Automatic ili Enabled u C++ debugger.

  4. Idite na Build i odaberite Rebuild Project kako biste očistili i ponovno izgradili projekt.
  5. Za otklanjanje pogrešaka aplikacija na uređajima provjerite jesu li Qt biblioteke instalirane na uređaju i odaberite odgovarajući kit za uređaj prije nego što započnete s otklanjanjem pogrešaka.

Napomena: Plugini za qmltooling koji su potrebni za otklanjanje pogrešaka automatski se instaliraju tijekom Qt Creator i instalacije Qt-a. Nemojte ih brisati ako planirate otklanjati pogreške u QML aplikacijama.

Korištenje zadatih vrijednosti

Možete globalno omogućiti ili onemogućiti otklanjanje pogrešaka QML-a u Preferences > Build & Run > Default Build Properties.

Zadana kartica Svojstva izgradnje u postavkama Izgradnje i pokretanja

Vrijednost polja QML debugging određuje što se događa pri stvaranju novih konfiguracija izgradnje. Vrijednosti Enable i Disable eksplicitno postavljaju QML otklanjanje pogrešaka za novu konfiguraciju izgradnje na tu vrijednost, bez obzira na vrstu konfiguracije izgradnje koju stvarate.

Use Project Default čini vrijednosti ovisnima o vrsti konfiguracije izgradnje: Debug, Profile ili Release. Kada koristite CMake ili qmake kao sustav za izgradnju, konfiguracije za debug i profiliranje imaju omogućen QML debugiranje. Međutim, konfiguracije za release izgradnju ne uključuju QML debugiranje jer značajka debugiranja čini aplikacije ranjivima.

Opcija Default u Projects > Build Settings > QML debugging and profiling zadržava postojeće, već konfigurirane CMake direktorije za izgradnju netaknutima. Također vam omogućuje uvoz postojeće izgradnje u Qt Creator bez nametnutih promjena, tako da se, na primjer, ne morate brinuti o potpunoj ponovnoj izgradnji projekta. Čak i ako kasnije promijenite konfiguraciju izgradnje izvan Qt Creator, ona će ostati onakva kakva želite.

Postoje neka poznata pitanja u interakciji između globalnog postavljanja u Preferences > Build & Run > Default Build Properties i konfiguracije izgradnje. Na primjer, za qmake globalno postavljanje utječe samo na konfiguracije izgradnje koje se automatski stvaraju prilikom omogućavanja kita. Također, CMake zanemaruje globalno postavljanje.

Pokretanje otklanjanja pogrešaka QML-a

Za pokretanje aplikacije odaberite Debug > Start Debugging > Start Debugging of Startup Project ili pritisnite F5. Kada aplikacija započne s radom, ona se ponaša i radi kao i obično. Zatim možete obaviti sljedeće zadatke:

  • Debugiranje JavaScript funkcija
  • Izvršite JavaScript izraze kako biste dobili informacije o stanju aplikacije
  • Pregledajte QML svojstva i JavaScript varijable te ih privremeno mijenjajte tijekom izvođenja

Za otklanjanje pogrešaka u već pokrenutim aplikacijama:

  1. Izgradite aplikaciju koristeći odgovarajuće parametre konfiguracije (ako aplikaciju gradite pomoću Qt Creator, automatski se koristi ispravna konfiguracija):
    • Kod korištenja CMakea, naredba target_compile_definitions definirana je u datoteci CMakeLists.txt: target_compile_definitions(myapp PRIVATE QT_QML_DEBUG)

      Gdje je myapp aplikacija za otklanjanje pogrešaka.

    • Kod korištenja qmakea, sljedeća vrijednost definirana je za svojstvo CONFIG u datoteci .pro: CONFIG += qml_debug
  2. Pokrenite aplikaciju s sljedećim argumentima:

    -qmljsdebugger=port:<port>[,host:<ip address>][,block]

    port (obavezno) specificira port za otklanjanje pogrešaka, ip address (opcionalno) specificira IP adresu hosta na kojem se aplikacija pokreće, a block (opcionalno) sprječava pokretanje aplikacije dok se klijent za otklanjanje pogrešaka ne poveže sa poslužiteljem. To omogućuje otklanjanje pogrešaka od samog početka.

    Napomena: Postavljanje prekidnih točaka moguće je samo ako se aplikacija pokreće u bloknom načinu rada.

  3. Idite na Debug > Start Debugging > Attach to QML Port.

    Odaberite komplet konfiguriran za uređaj na kojem se pokreće aplikacija za otklanjanje pogrešaka. Broj priključka koji se koristi prikazuje se u standardnom izlazu kada se aplikacija pokrene.

Debugiranje JavaScript funkcija

Možete koristiti način rada Qt Creator Debug za pregled stanja vaše aplikacije tijekom otklanjanja pogrešaka. Možete komunicirati s otklanjačem pogrešaka na sljedeće načine:

Pregledavanje stavki

Dok je aplikacija u pokretu, možete koristiti prikaz Locals za istraživanje strukture QML stavki.

Stablo stavki QML-a u prikazu Locals

Debug Show Application on TopKako biste aplikaciju održali vidljivom dok radite s otklanjivačem pogrešaka, odaberite Prikaz > Prikaz ispitivanja.

QML element možete pregledati u prikazu " Locals " na sljedeće načine:

  • Proširite stavku u stablu objekata.
  • Odaberite stavku u uređivaču koda.
  • Debug Select Idite na Prikaz objekata > Prikaz stavki kako biste aktivirali način odabira, a zatim odaberite stavku u aplikaciji koja se pokreće.

Za privremenu promjenu vrijednosti svojstava, bez uređivanja izvornog koda, dvaput kliknite na njih i unesite nove vrijednosti. Rezultate možete vidjeti u aplikaciji koja se pokreće.

Pregled korisničkih sučelja

Kada otklanjate greške u složenim aplikacijama, možete preskočiti na položaj u kodu gdje je stavka definirana.

U načinu odabira možete odabrati stavke u aplikaciji u pogonu kako biste preskočili na njihove definicije u kodu. Svojstva odabrane stavke prikazuju se u prikazu Locals.

Također možete pregledati hijerarhiju stavki u aplikaciji koja se pokreće:

Dvostruko kliknite na stavku u aplikaciji u pogonu kako biste se pomicali kroz hrpu stavki na položaju kursora.

Za izlazak iz načina odabira, uključite/isključite stavku izbornika Select.

Da biste primijenjenu aplikaciju u Qt QML Viewer stavili u prvi plan, odaberite Debug > Show Application on Top.

Izvršavanje JavaScript izraza

Kada je aplikacija zaustavljena prekidnom točkom, možete koristiti QML Debugger Console za izvršavanje JavaScript izraza u trenutnom kontekstu. Da biste ga otvorili, odaberite View > Output > QML Debugger Console.

QML konzola za otklanjanje pogrešaka

Možete privremeno promijeniti vrijednosti svojstava bez uređivanja izvornog koda i vidjeti rezultate u aplikaciji koja se izvršava. Vrijednosti svojstava možete trajno promijeniti u kodu.

Primjena QML promjena tijekom izvođenja

Kada promijenite vrijednosti svojstava u prozoru QML Debugger Console ili u prikazu Locals ili Expression, one se odmah ažuriraju u aplikaciji koja se pokreće, ali ne i u izvornoj kodu.

Vidi također Kako: otklanjanje pogrešaka, Otklanjanje pogrešaka, Otklanjači pogrešaka i Upravljanje kitovima.

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.