Hei!
Miten ohjelman kaatuessa (käytän Lazarusta) saa ohjelman ajoruudun säilymään näytössä sen sijaan että se katoaisi? Kaatumistilanteessa tulostuu ruudulle mm. aliohjelmien kutsustack, josta olisi todellista hyötyä ongelman selvittämisessä, jos se vain säilyisi siinä ruudulla kauemmin kuin 0,1 sekuntia... Periaatteessa siis, onko mahdollista lisätä johonkin (keskeytysrutiiniin tms.) jokin esim. readln-käsky, joka saisi aikaan sen että ohjelmaruutua ei suljettaisi kaatumistilanteessa?
Siis jos se on konsolisovellus, niin eikö riitä, että laitat ajoparametreista, että konsolia ei suljeta automaattisesti ohjelman ajon päättyessä..
Joo, konsolisovellushan se. Olen tässä vaan sen verran aloittelija, että en tiedä miten kuvaamasi temppu tehdään. Voisitko laittaa tarvittavan parametrin näkyviin?
Voit ajaa ohjelman Lazaruksen sijaan komentoriviltä. Siis käynnistä erillinen komentorivi, siirry cd-komennolla oikeaan hakemistoon ja käynnistä ohjelma. (Voit lukea samaisen neuvon myös C++-oppaan puolelta; tämä ei riipu kielestä.) Windowsin komentoriviä käsittelee myös mm. tämä sivusto, ja muille järjestelmille löytyy tietoa vielä helpommin.
Voi tosin olla, että näin ajettuna ohjelma ei tulostakaan noita hyödyllisiä tietoja...
Joo, olisi tosiaan käyttökelpoista saada konsoli säilymään auki ajon päättyessä. Se varmaan onnistuu jollakin yhdellä parametrilla, vaan millä?
Se hyödyllinen tieto, jonka sillä tavalla saisi, on sama informaatio jonka saa käskyllä
dump_stack(stdout,get_frame);
Tämä käsky saattaa olla joissakin muissakin kuin kaatumistilanteissa hyödyllinen; sen voi koodata sovellusohjelmaan ja sen avulla tarkistaa callstackin tilanteen, jos jotenkin epäilee ohjelman toimintaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.