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 promijenite 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 verziju Qt-a.

Debugiranje Qt Quick UI projekata

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 odaberite Enable.

    Postavke izgradnje za CMake projekt

    Napomena: Otklanjanje pogrešaka zahtijeva otvaranje soketa na TCP priključku, što predstavlja sigurnosni rizik. Bilo tko na internetu mogao bi se povezati na aplikaciju koju otklanjate pogreške i izvršiti bilo koje JavaScript funkcije. Stoga morate osigurati 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.

    Za istovremeno otklanjanje pogrešaka 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 otklanjanje 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 Izgradi i pokreni

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 da vrijednosti ovise 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 održ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 problema 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 pri aktiviranju kita. Također, CMake zanemaruje globalno postavljanje.

Pokretanje otklanjanja pogrešaka QML-a

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

  • Otklanjanje pogrešaka u JavaScript funkcijama
  • 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 s 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.

    • Kada se koristi qmake, za svojstvo CONFIG u datoteci .pro definira se sljedeća vrijednost: CONFIG += qml_debug
  2. Pokrenite aplikaciju s sljedećim argumentima:

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

    Gdje 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 koju treba otkloniti pogreške. 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 aplikacija radi, možete koristiti prikaz Locals za istraživanje strukture QML stavki.

Stablo stavki QML-a u prikazu Locals

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

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 privremeno 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 pogreške u složenim aplikacijama, možete preskočiti na položaj u kodu na kojem 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 u pogonu:

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

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

Da biste aplikaciju koja se pokreće u Qt QML Viewer doveli 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. Za otvaranje odaberite View > Output > QML Debugger Console.

QML Debugger konzola

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 u pokretanju, ali ne i u izvornom kodu.

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

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.