Debuggen, testen en profileren
Creator Pro, inclusief het technische proefrecht, voegt een debugger, een testrunner en een broncodeprofiler toe aan de desktop-IDE en CLI. Gewoon Stap, inspectie, normale foutmeldingen en handmatig testen blijven gratis in Learner. Deze gereedschappen maken gewone Core-code niet afhankelijk van Pro.
Een programma debuggen
Open Ontwikkelgereedschap · Pro in de IDE. Vul voor breekpunten uitvoerbare regelnummers in, gescheiden door komma’s, en start de debugger. Hij pauzeert vóór de eerste uitvoerbare opdracht. Commentaar en lege regels zijn geen breekpuntlocaties.
- Instappen (Step Into) bereikt de volgende opdracht, ook binnen een aangeroepen functie.
- Overstappen (Step Over) voltooit de huidige opdracht, inclusief aanroepen, vertakking of lus. Een expliciet breekpunt daarbinnen stopt de uitvoering wel.
- Uitstappen (Step Out) voltooit de huidige functieaanroep; dit kan niet in het buitenste frame.
- Ga verder (Continue) gaat door tot het volgende breekpunt of het einde.
- Selecteer een frame in de aanroepstack om de zichtbare lokale variabelen te bekijken. Het binnenste frame staat bovenaan.
Voeg een watch toe, bijvoorbeeld score + 1 of speler["naam"], in de syntaxtaal van het programma. Watches lezen waarden en ondersteunen operatoren, indexering en leden. Ze kunnen geen functies aanroepen, waarden toewijzen of bestands-/netwerktoegang vragen. Een niet-ondersteunde expressie geeft een fout zonder het programma te wijzigen.
De CLI biedt dezelfde bediening:
pliro debug --break 7 voorbeeld.pliro
Gebruik bij de prompt into, over, out, continue, stack, frame 0, watch score + 1, break 12, clear of stop. Opties staan vóór het bestandspad. De CLI-debugger en -profiler annuleren interactieve programma-invoer; gebruik de IDE voor formulieren en vragen.
Broncode wijzigen begint een nieuwe uitvoering. Stop sluit de sessie en de toegekende bronnen. Geavanceerde applicatietoegang vereist nog steeds afzonderlijke declaraties en toestemmingen.
Herhaalbare tests uitvoeren
Een testsuite is een UTF-8-JSON-bestand. Bewaar dit als suite.json:
{
"schemaVersion": 1,
"cases": [{
"name": "verdubbelen",
"locale": "nl",
"source": "functie dubbel(x):\n geef x * 2\nlaat antwoord = dubbel(4)\nzeg antwoord\n",
"expectedOutput": "8\n",
"assertions": ["antwoord == 8"]
}]
}
Voer pliro test suite.json uit. De opdracht schrijft een JSON-rapport en eindigt met een niet-nulstatus wanneer een test mislukt. Het testpaneel in de IDE accepteert dezelfde JSON: neem de huidige broncode over als beginpunt, bewerk die, voer de suite uit of annuleer haar.
Elke test bevat name, locale (en of nl), source en de exacte expectedOutput. Optionele velden:
| Veld | Betekenis |
|---|---|
expectedState |
Standaard finished; gebruik failed om een runtimefout te verwachten |
assertions |
Alleen-lezenexpressies die na uitvoering elk waar moeten zijn |
modules |
Map van draagbare modulebestandsnaam naar broncode, voor integratietests |
database |
true geeft deze test een nieuwe SQLite-database in het geheugen |
Variabelen, opgeslagen waarden en databasetoestand zijn per test gescheiden. Tests erven geen geselecteerde bestanden, live netwerktoegang, productiegeheimen of interactieve invoer. Dit ondersteunt herhaalbare unit- en module-/database-integratietests, geen willekeurige shellopdrachten of live diensten.
De veiligheidsgrenzen zijn 128 tests, 127 modules en 64 asserties per test, 4096 bytes per assertie en 2 MiB totale testtekst. Uitvoering heeft maximaal 100.000 instructies, 5 seconden en 64 KiB uitvoer per test, en 60 seconden per suite. Dit zijn veiligheidsgrenzen, geen commerciële project- of uitvoeringsquota.
Trage opdrachten vinden
Start een profielmeting in de IDE, of:
pliro profile voorbeeld.pliro > profiel.json
De CLI schrijft het rapport naar standaarduitvoer en programma-uitvoer naar standaardfoutuitvoer. Elke opdrachtregel bevat de bronlocatie, het aantal bezoeken en de inclusieve verstreken tijd in nanoseconden. Het rapport vermeldt ook evaluatorbezoeken en afkapping.
Pauzetijd in de debugger telt niet mee. Wachttijd, I/O en onderliggende opdrachten tellen wel mee. Geneste regels overlappen: tel ze niet op als totale CPU-tijd. Deze profiler meet broncode-uitvoeringstijd; CPU-steekproeven, allocatieprofilering en native procesdebugging zijn niet beschikbaar.
Je werk behouden
Met Conceptgegevens bewaren bewaar je rapporten en suitetekst. Met geldige Learner-toegang kun je na verlies van Pro nog steeds projecten openen, bewerken en bewaren en verzamelde rapporten behouden; actieve Pro-sessies stoppen. Gegenereerde applicaties hebben geen Pliro-licentiecontrole.
Deze ontwikkelgereedschappen werken momenteel in de desktop-IDE en CLI. De openbare browserspeeltuin biedt ze niet. Productietools voor crashes/logging en live-dienstadapters voor tests blijven gepland.