.NET-virheenkorjauksen ymmärtäminen Visual Studio Codessa

Valmis

Edellisessä yksikössä opit, että virheenkorjauksen avulla voit hallita ohjelmasi suoritusta ja tarkkailla sen tilaa. Tässä osiossa opit tekemään molemmat nämä tehtävät Visual Studio Codessa.

Aloitetaan opettelemalla, miten voit määrittää Visual Studio Coden virheenkorjauksen käyttämään sitä .NETin kanssa.

Visual Studio Coden määrittäminen .NET-virheenkorjausta varten

Kun avaat C#-tiedoston Visual Studio Codessa ensimmäistä kertaa, näyttöön tulee kehotus asentaa C#:n suositellut laajennukset.

Näyttökuva Visual Studio Code -kehotteesta asentaa C#-laajennus.

Visual Studio Code asentaa C#- laajennuksen ja näyttää lisäkehotteen tarvittavien resurssien lisäämiseksi projektisi luomiseen ja virheenkorjaukseen.

Näyttökuva Visual Studio Code -kehotteesta lisätä tarvittavat resurssit .NET-projektin luomiseen ja virheenkorjaukseen.

Huomautus

Visual Studio Coden C#-kielituki on valinnainen asennus Marketplacesta. Visual Studio Code kehottaa sinua asentamaan tämän laajennuksen automaattisesti, kun avaat C#-tiedoston, jos et vielä sitä ole. Jos sinulla on ongelmia .NET-sovelluksen luonnissa tai virheenkorjauksessa Visual Studio Codessa, varmista, että projektillasi on tarvittavat resurssit C#-kielen tukea varten.

Keskeytyskohdat

Kuten edellisessä osiossa opit, virheenkorjaaja auttaa analysoimaan ja hallitsemaan ohjelmasi suoritusta. Kun käynnistät Visual Studio Coden virheenkorjauksen, se alkaa heti suorittaa koodiasi. Koska koodisi suoritetaan nopeasti, sinun on pystyttävä keskeyttämään ohjelman minkä tahansa lausekkeen kohdalla. Teet tähän keskeytyskohtia .

Voit lisätä keskeytyskohdan Visual Studio Codeen napsauttamalla rivinumeron vasemmalla puolella rivillä, jonka haluat rikkoa. Punaisen ympyrän pitäisi näkyä, kun keskeytyskohta on käytössä. Jos haluat poistaa sen, valitse punainen ympyrä uudelleen.

Näyttökuva Visual Studio Code -editorin ikkunaan lisätystä keskeytyskohdasta.

Jos lisäät keskeytyskohdan hiiren kakkospainikkeella, voit myös valita Lisää ehdollinen keskeytyskohta -vaihtoehdon. Tämän erityisen keskeytyskohdan avulla voit antaa ehdon suorituksen keskeytymiselle. Tämä keskeytyskohta on aktiivinen vain, kun määritetty ehto täyttyy. Voit myös muokata aiemmin luotua keskeytyskohtaa napsauttamalla sitä hiiren kakkospainikkeella ja valitsemalla Muokkaa keskeytyspistettä.

Näyttökuva ehdollisen keskeytyskohdan määrittämisestä Visual Studio Codessa.

Visual Studio Coden virheenkorjauksen yleiskatsaus

Kun olet määrittänyt keskeytyskohdat ja käynnistänyt sovelluksen, uudet tietopaneelit ja ohjausobjektit tulevat näkyviin näyttöön.

Näyttökuva Visual Studio Coden virheenkorjauksen yleiskatsauksesta.

  1. Virheenkorjauksen käynnistystoiminnot
  2. Muuttujien tila
  3. Seuratun muuttujan tila
  4. Nykyinen soittopino
  5. Keskeytyskohdat
  6. Suorituksen ohjausobjektit
  7. Nykyinen suoritusvaihe
  8. Konsolin virheenkorjaus

Virheenkorjauksen käynnistystoiminnot

Sivupalkin yläreunassa ovat käynnistysohjausobjektit:

Näyttökuva Visual Studio Coden virheenkorjauksen sivupalkin ohjausobjekteista.

  1. Aloita virheenkorjaus.
  2. Valitse aktiivinen käynnistysmääritys.
  3. Muokkaa tiedostoa launch.json . Luo se tarvittaessa.
  4. Avaa virheenkorjauspääte.

Muuttujien tilan tarkasteleminen ja muokkaaminen

Kun analysoit ohjelman vian syytä, katso, kuinka muuttujien tila näyttää odottamattomilta muutoksilta. Voit tehdä sen Muuttujat-paneelin avulla.

Muuttujat näytetään järjestettynä alueen mukaan:

  • Paikalliset muuttujat: Käytettävissä nykyisessä laajuudessa, yleensä nykyinen funktio.
  • Yleiset muuttujat: Käytettävissä kaikkialta ohjelmasta. Järjestelmäobjektit ovat myös mukana JavaScript-suorituspalvelussa, joten älä hämmästy, jos näet siellä paljon tavaraa.
  • Sulkemismuuttujat: Käytettävissä nykyisestä sulkemisesta, jos sellainen on. Sulkeminen yhdistää funktion paikallisen alueen laajuuteen siitä ulkofunktiosta, jokseenkin kuuluu.

Voit avata vaikutusalueita ja muuttujia valitsemalla nuolen. Kun avaat objekteja, näet kaikki -objektissa määritetyt ominaisuudet.

Muuttujan arvoa voi muuttaa lennossa kaksoisnapsauttamalla muuttujaa.

Viemällä funktioparametrin tai muuttujan päälle suoraan editori-ikkunassa voit myös kurkistaa sen arvoon.

Näyttökuva muuttujasta, joka siirtää hiiren osoittimen virheenkorjauksen aikana.

Katso muuttujat

Muuttujatilan hakeminen voi olla työlästä aina, kun haluat seurata sitä ajan tai eri funktioiden kautta. Siitä kellopaneelista on hyötyä.

Voit antaa muuttujan nimen tai katseltavan lausekkeen valitsemalla Plus-painikkeen. Vaihtoehtoisesti voit napsauttaa muuttujaa hiiren kakkospainikkeella Muuttujat-paneelissa ja valita Sitten Lisää, jos haluat katsella sitä.

Kaikki kellopaneelissa olevat lausekkeet päivittyvät automaattisesti, kun koodisi suoritetaan.

Puhelupino

Aina, kun ohjelmasi syöttää funktion, puhelupinoon lisätään merkintä. Kun sovelluksesta tulee monimutkainen ja funktioissa on funktioita monta kertaa, kutsupino edustaa funktiokutsujen jälkiä.

Poikkeuksen lähde on hyödyllinen. Jos ohjelmassasi on odottamaton kaatuminen, näet konsolissa usein jotain, kuten seuraavassa esimerkissä:

Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at OrderProcessor.OrderQueue.ProcessNewOrders(String[] orderIds) in C:\Users\Repos\OrderProcessor\OrderQueue.cs:line 12
   at OrderProcessor.Program.Main(String[] args) in C:\Users\Repos\OrderProcessor\Program.cs:line 9

Virheviestin alla olevaa at [...] rivien ryhmää kutsutaan pinon jäljitys-. Pinon jäljitys antaa jokaisen funktion nimen ja alkuperän, joka kutsuttiin ennen sen päättymistä poikkeukseen. Sen tulkitseminen voi olla hieman hankalaa, koska se sisältää myös .NET-suorituspalvelun sisäisiä funktioita.

Siinä Visual Studio Code Call -pinopaneeli on kätevä. Se suodattaa pois ei-toivotut tiedot näyttääksesi oletusarvoisesti vain koodisi asiaankuuluvat funktiot. Tämän jälkeen voit poistaa tämän kutsupinon purkamisen ja selvittää, mistä poikkeus on peräisin.

Keskeytyspistepaneeli

Keskeytyspisteet-paneelissa voit tarkastella ja vaihtaa kaikkia koodiin sijoittamiasi keskeytyskohtia. Voit myös vaihtaa asetuksia keskeytyäksesi tai havaitaksesi poikkeukset. Voit tarkastella ohjelman tilaa ja jäljittää poikkeuksen lähteen Breakpoints paneelissa käyttämällä Call-pinoa, kun sellainen ilmenee.

Suorituksen hallinta

Voit hallita ohjelman suoritustyönkulkua käyttämällä näitä ohjausobjekteja.

Näyttökuva Visual Studio Coden virheenkorjauksen suoritusohjausobjekteista.

Ohjausobjektit ovat vasemmalta oikealle:

  • Jatka tai keskeytä suoritus: Jos suoritus on keskeytetty, sitä jatketaan, kunnes seuraava keskeytyskohta osuu. Jos ohjelmasi on käynnissä, painike siirtyy taukopainikkeeseen, jonka avulla voit keskeyttää suorituksen.
  • Vaihe yli: Suorittaa seuraavan koodilausekkeen nykyisessä kontekstissa.
  • Step into: Kuten Vaihe yli, mutta jos seuraava lauseke on funktiokutsu, siirry tämän funktion ensimmäiseen koodilausekkeeseen (sama kuin step komento).
  • Vaihe ulos: Jos olet funktion sisällä, suorita tämän funktion jäljellä oleva koodi ja siirry takaisin lausekkeeseen ensimmäisen funktiokutsun out jälkeen (sama kuin komento).
  • Uudelleenkäynnistys: Käynnistä ohjelma uudelleen alusta alkaen.
  • Lopeta: Lopeta suoritus ja sulje virheenkorjaus.

Virheenkorjauskonsolin käyttäminen

Voit näyttää tai piilottaa virheenkorjauskonsolin valitsemalla Ctrl+Vaihto+Y Windowsille ja Linuxille. Valitse Cmd+ Vaihto + Y for Mac. Voit visualisoida sovelluskonsolin lokit virheenkorjauskonsolin avulla. Sen avulla voit myös arvioida lausekkeita tai suorittaa koodia nykyisessä suoritussisällössä, kuten sisäisen .NET-virheenkorjauksen komennot tai muuttujien nimet.

Voit kirjoittaa .NET-lausekkeen virheenkorjauskonsolin alareunan syöttökenttään ja arvioida sen valitsemalla Enter . Tulos näytetään suoraan konsolissa.

Näyttökuva Visual Studio Coden virheenkorjauskonsolista.

Virheenkorjauskonsolin avulla voit nopeasti tarkistaa muuttujan arvon, testata funktion eri arvoilla tai muuttaa nykyistä tilaa.

Huomautus

Vaikka virheenkorjauskonsoli on erittäin hyödyllinen .NET-koodin suorittamisessa ja arvioinnissa, se voi olla hieman hämmentävää, kun yrität suorittaa tai korjata .NET Console -sovellusta, koska virheenkorjauskonsoli ei hyväksy päätesyötettä käynnissä olevalle ohjelmalle.

Jos haluat käsitellä päätesyötettä virheenkorjauksen aikana, voit käyttää integroitua päätettä (yksi Visual Studio Code -ikkunoista) tai ulkoista päätteen. Tässä opetusohjelmassa käytetään integroitua päätetta.

  1. Avaa .vscode/launch.json.

  2. console Muuta asetukseksi integratedTerminal seuraava:

    "console": "internalConsole",
    

    Jotta:

    "console": "integratedTerminal",
    
  3. Tallenna tekemäsi muutokset.

Seuraavassa yksikössä opit käyttämään virheenkorjausta aiemmin näkemämme Fibonacci-koodin virheen korjaamiseen.