debugUGe (1158415), страница 5

Файл №1158415 debugUGe (Раздаточные материалы) 5 страницаdebugUGe (1158415) страница 52019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

Explicitly specified memory area is checked by comparison its reference checksum with the current one. The reference checksum is calculated when Run-Time Library is initialized.

The initial and final addresses of code memory are specified by the program, starting Run-Time Library by means of writing these addresses to the Run-Time Library executable module. The same program calculates and writes to Run-Time Library executable module reference checksum of code memory. During its operating (in particular, when trace events occurred) Run-Time Library checks code memory, comparing its current checksum with reference one.

Controlling mechanisms of memory area checking is implemented by the following parameters of systrace.* files.

  • EveryEventCheckBound - flag to check all dynamically allocated memory blocks every time when traced event occurred.

  • EveryTraceCheckBound - flag to check all dynamically allocated memory blocks each time when trace output function is called. The checking includes the checking specified by parameter EveryEventCheckBound, because it is also performed for non-traced (disabled) events.

  • dvm_StartAddr - initial address of checked memory area when tracing.

  • dvm_FinalAddr - final address of checked memory area when tracing.

  • EveryEventCheckMem - flag to check the memory area, specified by parameters dvm_StartAddr and dvm_FinalAddr for each traced event.

  • EveryTraceCheckMem - flag to check the memory area, specified by parameters dvm_StartAddr and dvm_FinalAddr each time when trace output functions are called. The checking includes the checking, specified by parameter EveryEventCheckMem, because it is also performed for disabled trace events.

  • EveryEventCheckCodeMem -.flag to check memory area with program code for each traced event.

  • EveryTraceCheckCodeMem - flag to check memory area with program code each time when trace output functions are called. The checking includes the checking, specified by parameter EveryEventCheckCodeMem.

11.4.6Controlling output of additional information when tracing some Run-Time Library functions in extended mode

  • distr_Trace – flag to output additional information when tracing the function distr_. There are outputted abstract machine representation map, ranges of local values of indexes for each dimension of abstract machine representation, flag of replication along all dimensions of the processor system (Repl) and flag of mapping some element (the elements may be different) of abstract machine representation (Every) on each processor.

  • align_Trace - flag to output additional information when tracing the function align_. There are reported distributed array map and ranges of local values of indexes for each its dimension.

  • mappl_Trace - flag to output parallel loop map when tracing the function mappl_.

  • dopl_Trace – flag to output additional information when tracing the function dopl_. The next set of ranges of local values of indexes for each dimension of the parallel loop is output.

  • RedVarTrace –flag to output addresses, types and values of all variables of reduction group when executing functions saverv_ and strtrd_ and also at the beginning and at the end of execution of the function waitrd_.

  • OutIndexTrace – flag to output result values of indexes for each dimension of distributed array when executing internal Run-Time Library function GetIndexArray.

  • diter_Trace –flag to output index array when the function diter_ of interconnection with DVM-debugger is traced.

  • drmbuf_Trace – flag to output index array when function drmbuf_ of interconnection with DVM-debugger is traced.

12Diagnostics messages of dynamic debugger

The common format of error messages of dynamic debugger:

(<processor number>)<context> File: <file>, Line: <line> (<count> times) <error message>

where:

<processor number>

- number of processor, where error occurred. It is outputted only if a program executes on several processors.

<context>

- context, where the error occurred.
It can be one of the following forms:

Sequential branch

- the error occurred in sequential part of the program

Loop( No(N1), Iter(I1,I2,…)), …, Loop( No(Nm), Iter(I1,I2,…))

- the error occurred when m-dimensional loop was executed.

<file>

- name of file, where the error occurred.

<line>

- line number.

<count>

- a number of given error repetitions in the given context. It is output when all detected errors are reported.

<error message>

- error description message.

12.1Dynamic control

Writing to read-only variable <var>

Writing to read-only variable is detected.

Using non-initialized private variable <var>

Access to non-initialized variable is detected.

Using non-initialized element <elem>

Access to non-initialized distributed array element is detected.

Using variable <var> before asynchronous reduction competed

Access to reduction variable before reduction operation completion.

Access to non-local element <elem>

Access to non-local element of distributed array.

Writing to shadow element <elem> of array

Writing to shadow element of array.

Shadow element <elem> was not updated

Access to shadow elements before completion of shadow edge renewing operation.

Data dependence in loop due to access to element <elem>

Data dependence in parallel loop is detected.

Using shadow element <elem> before asynchronous shadow renew competed

Usage of shadow element <elem> of distributed array during shadow edge renewing operation execution.

Writing to remote data buffer <var>

Writing to remote data buffer <var>.

Write to remote element <elem> in sequential branch

Writing to distributed array element <elem> in sequential branch of the program without own computation specification.

Reading remote element <elem> in sequential branch

Using not local element <elem> of distributed array in sequensial branch of the program.

WAIT for reduction without START

Waiting for reduction completion is issued without the reduction start.

Using an element outside of array limits: <elem>

Access to element of array beyond its limits.

START for reduction without WAIT

Absence of waiting for asynchronous reduction completion operation for corresponding operation of asynchronous reduction start.

Reduction operation was not started

Reduction variable is specified, but corresponding computation of reduction operation was never started.

12.2Trace accumulation and comparison

Error message

Description

Bad file structure

Trace file structure is incorrect.

Undefined keyword

Unknown keyword appears in trace file.

Bad command syntax

Wrong structure of trace record.

Can't open a file <file name>

Specified file can’t be opened.

Trace file <file name> is empty

Specified trace file is empty.

Bad trace structure (missing current program construct)

Trace file structure is incorrect. Record of executable construct beginning is missed.

No current program construct

Record of executable construct beginning is missed.

Unexpected task or iteration of loop

There is no record about given iteration or task execution in reference trace.

Double execution of task or iteration, No = <iter no>

Repeated execution of the same iteration or task.

Unexpected execution of program construct

There is no record about given loop or task execution in reference trace.

Abnormal loop exit

Loop end doesn't correspond to the record in reference trace.

Unexpected use of variable

There is no given variable usage record in reference trace.

Unexpected trace record

There is no given event performance record in reference trace.

Different <type> values: <standard value> != <current value>

Variable value differ from the variable value in reference traced.

Different <type> values of reduction variable: <standard value> != <current value>

Result value of reduction computation differ from the value in reference trace.

13Structure of trace configuration file

# Trace size =

<size of full trace file in bytes>

# String count =

<a number of lines of trace file>

SL

PL or

TR

<construct number> (<number of surrounding construct>) [<construct rank>] {<file name>, <line number>} = <trace accumulation level>, (<dimension>:<first iteration>, < last iteration >, <iteration step>)

# Trace size = <construct trace size in bytes for specified trace level>

# String count = <number of construct trace lines for specified trace level>

# Count of traced iterations = <number of traced loop iterations or tasks>

EL: <construct number>

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

SL, PL or TR

<construct number> (<number of surrounding construct>) [<construct rank>] {<file name>, <line number>} = <trace accumulation level>, (<dimension>:<first iteration>, < last iteration >, <iteration step>)

# Trace size = <construct trace size in bytes for specified trace level>

# String count = <number of construct trace lines for specified trace level>

# Count of traced iterations = <number of traced loop iterations or tasks>

EL: <construct number>

14Execution trace structure

When executions are traced, accumulated trace information consists of two parts:

  • trace header

  • trace body (may be omitted).

The header exists in trace even if the trace accumulation is disabled for whole program. Its structure looks like the structure of trace configuration loop, but without calculated values of trace size for whole program and for loops:

MODE = <accumulation trace level for whole program>,

SL or PL

<construct number> (<number of surrounding construct>) [<construct rank>] {<file name>, <line number>} = <trace accumulation level>, (<dimension>:<first iteration>, < last iteration >, <iteration step>)

EL: <construct number>

Характеристики

Список файлов учебной работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7021
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее