-->
Главная » Статьи » Информатика

Программның жөнделуі. Аспаптары. Жөндеу әдістемесі. Тестілеу. Вариант бойынша өңдеу және тестілік мысалдар

Программның жөнделуі. Аспаптары.  Жөндеу әдістемесі.

Тестілеу. Вариант бойынша өңдеу және тестілік мысалдар

 

Жөндеу процедурасы. Жөндеу аспаптары. Бақылау нүктелері және өтулері. Жөндеу режимдері. Жөндеу кезіндегі қайталау әрекеттеінің минимизациясы. Жөндеуді басқару. Жөндеу құжаттары. Debuggers-ті қолдану – меню, мүмкіндіктер, командалар.

Өңдеу кезіндегі қателерді іздеу – нәтижелерді түсінбеу, тоқтап қалулардың болуы, циклдан шықпау және программадан шығап кету кезінде көрінеді. design және run  периодтық қателер. Жөндеу тәртібі – жүйелік хабарламаларды өңдеу, программадағы күдікті зоналарды табу, SHE фреймдердің қоршалуы және жүйелік хабарламаларды және өңдеуші хабарламаларын генерациялау, бақылау нүктелерін құру және күдікті аймақтарға тесттер құру үшін пайдаланылады.

 Жөндеу аспаптары. Декомпиляторлар, жөндегіштер және дизассемблерлер - құрамы, мүмкіндіктері, қолдану тәртібі. debuggers қолдану – менюі, мүмкіндіктері, командалары. Дизассемблирлеу, —процессордың екілік кодтарын түсінікті мнемоникалық инструкцияға келтіру. «IDA  дизассемблері интенсивті даму өніміне жатады, — өңдеушілермен енгізілген үнемі даму арқасында және өзегрістердің арқасында  көптеген версиялары пайда болған, солардың ішінде 3.84, 3,84b, 3,85, 4.0, ал кейбіреуілер әлі күнге дейін IDA 3.6 қолданғанды дұрыс көреді. Өкінішке орай, бір – біріне ұқсас версиялардың өзі ерекшеленеді және сәйкес келмейді. Дизассемблер пакетінің үш түрлі ұсыныстары бар — стандартты (IDA Pro Standard), прогрессивті (IDA Pro Advanced) және демонстрациондық (IDA Pro Demo). Мұндағы әрбір пакетке  (демонстрациондықтан басқа) екі қосымша кіреді — бірі Windows-32 үшін графикалық (келешекте IDAG деп бергілейміз) және үш MS-DOS, OS/2 және Windows-32 үшін консольдық. Ал демонстрациондық пакетке тек бір ғанаграфикалық қана қосымша кіредіДизассемблердің екі түрі бар – автономды және интерактивтіАвтономды пайдаланушыдан өзіне керекті шартарды дизассемблерлеу процессінен бұрын беруді керек етеді және процесстің өзіне кірісуге рұқсат бермейді. Интерактивті дизаассемблерлеу кезінде программаның процессінің орындалуын "қолменбасқаруға боладыПайдаланушы кез – келген кезде процесстің орындалуына кірісе алады:  адрестердіконстанталардан ерекшелеу немесе инструкцияның шегін көрсетуді анықтайды және т.б. Сәйкесіншеинтерактивті дизассемблерлердің пайдаланушы интерфейсі жақсы дамыған, ал  IDA –дың тіптім өз  си-ұқсас скриптер тілі бар.

Бақылау нүктелері мен өзгерістері. Программалардың құрылымдық және функциональдық декомпозициясы. Транзакциялар - қызметі, безендірілуі, қолданылуы. Есептеудің функционалдық бүтіндігін сақтау және деректердің бүтіндігі. Программаның орындалуын журнализациялау.

Жөндеу режимдері. Жөндеу кезіндегі қайталау жұмыстарын минимизациялау. Автоматтандырылған және қолдан жөндеу. Трассировкалау және жұмыстың қадамдық орындалуы – микропроцессордағы және алгоритмдегі таратылуы. Айнымалылардың мәнін қарау және оларды оперативты түрде шығару. Қосылыстар (вставки) – бақылаушы және өзгертуші.

Жөндеуді басқару. Жөндеу құжаттары. Коллективтік жұмыс құжаттары – кітапханалар, журналдар, оларды сақтау және басқару.

Программаны таратуды бақылауПрограмманы бақылау блоктарына бөлуИнварианттарды анықтауАқпараттарды өңдеудегі доменнің анықталуы. Инвариант – өзгермейтін фукциональдық мәндердің программаларды бергілі бір аймақғындағы берілуіИнвариант анықтамалары және олардың бар болу аймақтары.

Процедураларды өңдеубақылау режимдері және шарттарыПред және пост шартарды ұйымдастыруБақылау мәнінің интервалдық шегі бойыншатест функциясын құруБақылау аймағына кіру кезінде ақпараттың тарихын сақтауАқпараттарға және программаларға қатынаудың журнализациясы.

Қауіпті аралықтарды анықтауҮзулер жабық аймақтарЛогикалық және физикалық деңгейде үзусіз жұмысты қамтамасыздандыруЖүйелік аспаптар және программаларды ауыстыруды қамтамасыздандыру әдістемесіЖүйелік және программалық үзулердің  есептеулері.

SEН-фрейм және өзіндік исклющенияларды өңдеу. Өңдеудегі коллизияларды жоюИсключениялардың құрылымдық өңделуіИсключенияларды басқарудың программалық құралдарыӨз исключенияларынды өңдегіштерді құру.

Исключительный жағдайларды қолдану.

Егер қате болса және исключительный жағдай болсаонда ол келесі алгоритм бойынша өңделеді:

1. Егер жағдай  try..except блогының ішінде болсаонда ол сол жерде өңделеді. Егер АЖ "жылжығанонда raise операторының көмегіменал егер олtry. .finally блогында пайда болсаонда өңдеу жалғасады.

2. Егер программалаушымен Application.onException уақиға өңдеугіші анықталған болсаонда ол басқаруды аладыӨңдегіш келесі түрде хабарланған:

  TExceptionEvent = procedure (Sender: TObject; E: Exception) of object;

3. Егер пррограммалаушы АЖ ешбір уақиғасына көңіл бөлмесеонда стандартты showException әдісі шақырыладыол класс жайында және исключительный жағдайлар жайында хабардар етеді.

және 3 пунктер TAppiication.HandieException әдісінде таратылады. Ол келесі түрде беріледі:

  if not (ExceptObject is EAbort) then

   if Assigned(FOnException) then  FOnException(Sender, Exception(ExceptObject))

  else   ShcwExceptior. (Exception(ExceptObject));

onExceptiоn өңдегіші бір әрекетті пайда болған исключительный жағдайларда қолдану керек болса қолданыладыМысалы:

  program Project!;

  uses 

  Forms,   SysUtils, //добавлено вручную — там описан класс Exception Dialogs, 

  Unitl in 'Unitl.pas' {Forml};

  {$R *.RES}

  type

  TExceptClass = class 

  public

   procedure GlobalExceptionHandler(Sender: TObjectE:Exception);

  end;

  procedure TExceptClass.GlobalExceptionHandler(Sender: TObject;

  E:Exception); 

  begin

  ShowMessage('Произошла исключительная ситуация ' + E.ClassName

  + ': ' + E.Message    + #13#10'Свяжитесь с разработчиками по тел. 222-33-44');

  end

  begin

  with TExceptClass.Create do

   begin

  Application.OnException :GlobalExceptionHandler;   Application.Initialize;

  Application.CreateFormfTFormlForml);   Application.Run;   Free; 

  end;

    end.

Мұндағы TExceptClass классыGiobaiException әдісінің жеткізгіші ретінде қолданыладыКез –келегн жғдайдың өңдегіші — әдісжәне ол белгілі бір обьектіге қатысты болуы керекМұнда ол көсетілгендіктен, TExceptClass объект классы бірінші құрылады.

Ескерту: Бұдан басқа да өңдегішке уақиғаны меншіктейтін жеңіл әдісі бар, ол  Application.OnException.

  var APtr : Pointer;

  Forml : TForm

  try

  APtr := Forml;

  with TObject(APtr) as TBitmap do; 

  except

  on EZD: EInvalidCast do EZD.Message :=. EZD.Message + 'xa-xa!';

  Raise;теперь обработка будет сделана в другом месте }

   end;

 

Бақылау сұрақтары:

1.      Отладка дегеніміз не?

2.      Отладканың қандай аспаптарын білесіз?

3.      ПӨ қандай режимде отладкалауға болады?

4.      Коллективті жұмыста отладка қалай құжатталады және қандай аспаптарды қолданады?

5.      Компиляция және орындалу этаптарындағы программалардың отладкасының  айырмашылықтары?

6.      Программаны run-time –нен қалай қорғауға болады?

7.      Отладкалайтын программалардың жұмысымүмкіндіктер тізімі?

8.      Транзакция мәні?

9.      Домен мәні?

10.  Деректер мен есептеулердің бүтіндігінің сипаттамасы?

11.  Жұмысты  журнализациялау нені береді?

12.  Инвариант дегеніміз не?

13.  Пред және пос шарттарын қолданған кезендегі инварианттардың қолданылуы?

14.  Программадағы қауіпті аралық дегеніміз не?

15.  Қауіпі аралықтарды қатіп сақтауға болады?

16.  Исключение дегеніміз не?

17.  Өңдеушіге құрылымдық исключенияларды өңдеу не береді?

18.  except  және finally блоктарының айырмашылықтары?

 

Категория: Информатика | Добавил: admin_ (01.12.2013)
Просмотров: 1570 | Теги: Вариант бойынша өңдеу және тестілік, Тестілеу, Жөндеу әдістемесі, Программның жөнделуі, Аспаптары | Рейтинг: 0.0/0
Всего комментариев: 0

Имя *:
Email:
Код *: