_  _   ,_
/^\/^\-/ @D
~(________/ PERL.LT
|L |L
L L
Straipsniai  Funkcijos 
Funkcijos/dump - sukuria skubų core dump
  • dump LABEL
  • dump

    Ši funkcija iškart padaro core dump. Taip pat žiūrėti -u komandinės eilutės parametrą perlrun, kuris padaro tą patį Pirmiausia taip daroma tam, kad būtų galima panaudoti undump programą (kuri šiaip nėra pateikiama) paversti core dump'ą į vykdomą binarį po to, kai visi kintamieji aprašomi programos pradžioje. Kai naujas binaris vykdomas, jis pirmiausia įvykdys goto LABEL (su visais draudimais, kuriuos turi goto). Tai galima laikyti kaip ir goto su įsiterpiančiu core dump ir prisikėlimu. Jei LABEL praleistas, iš naujo paleidžia programą nuo pat viršaus.

    DĖMESIO: Bet kokie failai, atidaryti dump'o metu nebus atidaryti, kai programa bus vėl atkelta darbui, kas greičiausia sukels samyšį Perl.

    Ši funkcija dabar jau pakankamai atgyvenusi, iš dalies dėl to, kad labai sunku paversti core failą į vykdomąjį ir todėl, kad realus kompiliatorius nesugeba sukompiliuoti portabilaus baitkodo, o kompiliuojamas C kodas jį išstūmė. Štai kodėl reiktų iškviesti kaip CORE::dump() , jei nenorima būti įspėtam dėl galimo mistaipo.

    Jei dump norima naudoti pagreitinti programą, reiktų apsispręsti tarp baitkodo generavimo arba lokalaus C kodo, aprašyto perlcc. Jei mėginama tiesiog pagreitinti CGI skriptą, reiktų apsvarstyti mod_perl išplėtimo naudojimą Apache ar CPAN modulį, CGI::Fast. Taip pat galima pagalvoti apie automatinį paleidimą arba selfloading'ą, kas bent jau programą parodo tarsi ji pasileistų greičiau.

algirdas@perl.lt 2005.04.11 - $dabar