Koodin virheenkorjauksen haasteen ratkaisun tarkasteleminen

Valmis

Seuraava esimerkki virheenkorjausprosessista on yksi mahdollinen ratkaisu edellisen yksikön haasteeseen.

Ota C#-virheenkorjaystyökalut käyttöön ongelman tunnistamiseksi

Seuraava virheenkorjausprosessi toteuttaa keskeytyskohdan ja valvoo sitten arvoa x SUORITA JA VIRHEENKORJAUS -näkymän MUUTTUJAT-osassa.

  1. Määritä keskeytyskohta seuraavalle koodiriville:

    int x = 5;
    
  2. Avaa SUORITA- JA VIRHEENKORJAUS-näkymä.

  3. Valitse SUORITA JA VIRHEENKORJAUS -näkymän yläreunassa Aloita virheenkorjaus.

  4. Kirjoita Run- ja Debug-näkymän MUUTTUJAT-osiossa muistiin -arvo, joka on määritetty kohteelle x.

  5. Valitse Virheenkorjaus-työkalurivilläVaihe vaiheeseen.

  6. Seuraa arvoa, joka x on määritetty, kun siirryt kunkin koodirivin läpi.

  7. Huomaa, että -arvo x ei muutu, kun suoritus syöttää -menetelmän ja sulkee sen ChangeValue .

    -ChangeValuemenetelmälle välitetään -arvo viittauksen xxsijaan, joten -menetelmän sisällä oleva muutos value ei vaikuta alkuperäiseen muuttujaan x.

Harkitse koodipäivitystä virheenkorjauksen tulosten perusteella

Jos haluat - menetelmän ChangeValue muuttavan kutsukoodin arvoa, sinun on päivitettävä koodisi. Yksi tapa saavuttaa haluttu tulos on päivittää ChangeValue -menetelmä kokonaislukuarvon palauttamiseksi ja päivittää kutsuttava koodi ChangeValue niin, että se määrittää palautusarvon kohteelle x.

Esimerkiksi:

int x = 5;
x = ChangeValue(x);
Console.WriteLine(x);

int ChangeValue(int value) 
{
    value = 10;
    return value;
}

Jos onnistuit tässä haasteessa, onnittelut! Jatka tietämystarkistukseen seuraavassa yksikössä.

Tärkeää

Jos sinulla oli ongelmia tämän haasteen suorittamisessa, tarkista edelliset yksiköt ennen jatkamista.