Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Kuinka saisin Visual Studiossa näkyviin stack tracen?

Jaska [31.12.2024 16:41:28]

#

Miten kannattaa debugata seuraavaa: Minulla on iso C#-projekti Visual Studiossa. Yritin etsiä virhettä asettamalla breakpointin tiettyyn kohtaan ja katsomalla mitä tapahtuu. Ohjelma ei kuitenkaan pysähtynyt kyseiseen kohtaan. Ilmeisestikin siis oletin väärin, että ohjelmarivi suoritetaan, mutta virhe onkin aiemmin. Saako esimerkiksi ohjelman stack tracen tulostettua vaikkapa uuteen tiedostoon, jotta näen, mitä funktioita kutsutaan ohjelman suorituksen aikana? En löytänyt ainakaan kohdasta Debug/Windows mitään ikkunaa, johon stack trace tulostuisi.

mpni [03.01.2025 10:29:32]

#

Lähtisin liikkeelle Main-funktiosta ja etenisin järjestyksessä funktiosta toiseen. Breakpointtien sijasta voi käyttää tulosteita:

Console.WriteLine("Täällä ollaan!");
Environment.Exit(0);

Jos jokin yksittäinen kohta koodissa askarruttaa, koodin ympärille voi rakentaa oman debuggausmenetelmän. Esimerkiksi voit tulostaa, mitä muuttujat sisältävät kohdan A jälkeen ja mikä niiden sisältö on myöhemmin kohdan B jälkeen. Tulosteet voi toki ohjata myös tiedostoon.

Grez [28.01.2025 21:00:07]

#

Jos tämä on vielä ajankohtainen niin ...

Ajattelisin että virheitä on monenlaisia ja riippuu vähän millainen virhe on kyseessä että miten sitä kannattaisi lähteä metsästämään. Ja jotkin asiat riippuu myös projektityypistä ja kohdeympäristöstä.

Eli jos annat vähän lisää lähtötietoja, niin saattaisi pystyä antamaan tarkempia vinkkejä.

Jaska [28.01.2025 21:33:02]

#

Ongelma ratkesi. Piti huomata, että toisessa tiedostossa kutsutaan oikein toista funktiota.

Joskus on vaan vaikea nähdä, miten eri tiedostoissa olevia koodeja hahmotetaan. Samoin jos on opetellut tietyn tavan tehdä ohjelmia ja pitää ylläpitää eri tavalla tehtyä ohjelmaa.

Vastaus

Muista lukea kirjoitusohjeet.
Tietoa sivustosta