felsökningsfunktionen för alla IDE är en viktig och vanligt förekommande funktion. Lär dig hur du använder SQL Developer debug-funktionen i den här artikeln.
Hur startar du en SQL Developer Debug-Session?
först och främst kan du bara felsöka PL/SQL-kod. Felsökning av normal SQL-kod är inte möjlig, och skulle inte vara meningsfullt, eftersom hela uttalandet körs på en gång. Du kan bara felsöka kod som har flera steg.
så måste du identifiera vilken kod du vill felsöka. Du behöver ett kodobjekt för detta, till exempel en funktion eller procedur.
jag har skapat ett förfarande som heter TESTFIRSTNAME, som bara kör en enkel fråga och matar ut resultatet till konsolen med DBMS_OUTPUT.
CREATE OR REPLACE PROCEDURE testFirstNameIS firstName VARCHAR2(20);BEGIN select first_name into firstName From student where student_id = 1; dbms_output.put_line(firstName);END;
så, vad är det första steget för att felsöka detta?
Steg 1 – kompilera för Debug
gå först till object explorer och hitta din procedur eller funktion.
högerklicka på den och välj kompilera för Debug.
detta kommer att kompilera om objektet och lägga till extra information för felsökningsändamål.
Obs: Du bör inte göra detta på en produktionsserver, bara på en utvecklings-eller testserver. Men då borde du inte felsöka på produktion ändå!
ett annat sätt att göra detta är att öppna objektet i SQL-Kalkylbladsvyn och välja kompilera för felsökning.
steg 2 – Ställ in brytpunkter eller ändra Felsökningsåtgärd
när den har sammanställts framgångsrikt måste du ställa in din debug-session.
om du startar en debug nu körs koden och slutar inte, såvida den inte hittar ett fel.
om du vill att det ska sluta kan du göra det på två sätt.
ange först en brytpunkt. En brytpunkt är en punkt i koden där felsökaren kommer att sluta. Det är användbart för att analysera den väg som koden har tagit, samt att se vilka variabler som initieras och ställs in på.
för att ställa in en brytpunkt, klicka i den vänstra marginalen för koden på raden du vill ställa in en brytpunkt på. Om det görs korrekt visas en röd prick i marginalen.
för att stänga av en brytpunkt, klicka på den röda knappen igen.
eller du kan använda kortkommandot för CTRL+SHIFT+F5 för att växla brytpunkten på den valda raden.
om du inte vill ställa in en brytpunkt kan du bara köra koden och gå igenom den. Det finns dock ingen knapp starta felsökningssessionen genom att klicka steg över, som finns i andra IDE. SQL Developer standard” debug ” åtgärd är att köra tills en brytpunkt inträffar.
du kan ändra detta genom att gå till Verktyg > Inställningar och klicka på Debugger.
ändra alternativet som säger ”starta felsökningsalternativ” för att gå in. Detta gör att du kan klicka på Debug och köra till den första raden av kod.
klicka på OK.
steg 3 – Anslut till databasen
ett vanligt glömt steg är att ansluta till databasen i ditt SQL-Kalkylbladsfönster. Detta är rullgardinsmenyn längst upp till höger. Det kan redan vara inställt på rätt Databas, men om inte, välj det värde du vill ha.
Steg 5-Debug!
nu har du ställt in miljön och koden, du kan börja felsöka
klicka på Felsökningsknappen, som ser ut som en liten nyckelpiga.
eller tryck CTRL+Skift+F10.
ett fönster visas:
detta fönster skapar i princip ett anonymt PL/SQL-kodblock för att köra proceduren du vill felsöka.
varför görs detta? Det är så att du kan ställa in några parametrar eller variabler innan du kör koden, vilket är ganska användbart i alla de komplicerade buggarna du kan hantera.
ändra koden eller lägg till några parametrar du gillar och klicka på OK.
om en brandväggsvarning visas kan du klicka på ”Tillåt åtkomst”.
felsökaren ska nu köras!
SQL Developer Debug-kommandon
det finns flera kommandon tillgängliga i SQL Developer debugger.
från vänster till höger, börjar med den stora röda torget, De är:
- Stop-stoppar felsökningssessionen.
- hitta Exekveringspunkt – flyttar markören till där koden har stoppats.
- steg över – steg över den valda raden och flyttar till nästa rad i koden.
- steg in – steg in i den valda kodrad, vilket gör att felsökaren fortsätter inuti den metod eller funktion som kodrad är för närvarande på.
- steg ut – Steg ut ur metoden eller funktionen du befinner dig i och återgår till nivån ovan.
- steg till slutet av metoden – går till slutet av metoden.
- Resume – fortsätter felsökningen tills ett annat fel eller Brytpunkt har uppnåtts.
- paus – pausar felsökaren på plats.
- Stäng av alla brytpunkter – stänger av alla brytpunkter i den aktuella databasen.
om du har använt andra felsökningsverktyg tidigare kan det här konceptet vara bekant för dig redan.