ceturtdiena, 2010. gada 30. decembris

Kā programmējot atrast kļūdu programmas kodā

Izveido "log" funkciju un apskati vērtības pēc katras nozīmīgas izpildītās darbības.



Rakstot programmas kodu ir vērts izveidot "log" funkciju. Funkcija var gan rakstīt datus "log" failā, gan izvadīt informāciju uz ekrāna, kā ērtāk. Tādā veidā ērti pārskatīt vērtības pēc katras nozīmīgas izpildītās darbības.

Programmējot javascript ērti ir rakstīt log datus uz ekrāna. Mazs piemērs, kā rakstīt log informāciju ar javascript.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Testēšana</title>
<script type="text/javascript">
   var x = 10
   function log(text) {
      var today = new Date();
      var h=today.getHours();
      var m=today.getMinutes();
      var s=today.getSeconds();
      var ms=today.getMilliseconds()
      m=checkTime(m);
      s=checkTime(s);
      h=checkTime(h);
      var log = document.getElementById("Log");
      log.innerHTML += h +":"+ m +":"+ s +":"+ ms +" - "+ text +"<br />";
   }

   function solis(p) {
      x=x+p
      log('noiets = '+ x)
   }

   function checkTime(i)
   {
      if (i<10)
      {
         i="0" + i;
      }
      return i;
   }
</script>
</head>
<body onload="log('noiets = '+ x)">
<div id="Log" style="border: 1px solid black; width: 280px; height: 200px; overflow: auto; padding: 10px"></div>
<a onclick="solis(-3)" style="cursor: pointer;">Trīs atpakaļ</a>
<a onclick="solis(+1)" style="cursor: pointer;">Viens uz priekšu</a>
</body>
</html>

Atvērt piemēru 


Faila izveidošana, kurā tiek rakstīta "log" informācija. Šoreiz par programmēšanas valodu izvēlēta C#.

//izsauc log funkciju
log("dati kas ierakstīsies log failā");

//log funkcija
void log(string txt){
            string g_fname, s_date="", s_year="", s_month="", s_day="";
            DateTime date = DateTime.Now;
            s_year = date.Year.ToString();
            s_month = date.Month.ToString();
            s_day = date.Day.ToString();
            s_date = s_day + s_month + s_year;
            g_fname = "C:\\log\\log_"+ s_date +".txt";
            try
            {
                System.IO.File.AppendAllText(g_fname, date+": "+ txt +"\r\n");
            }
            catch (Exception ex) { MessageBox.Show("Error writing in file " + g_fname + ": " + ex.Message, txt); }
}

Veido "log" un uzlabo kļūdu izķeršanas procesu.



Nav komentāru:

Ierakstīt komentāru