prog
::tcov
Сообщите относительно тестового покрытия (передал линии программы),
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
prog::tcov(Reset) prog::tcov(<stmt
>,Write = fname
) prog::tcov(Append = fname
) prog::tcov(<stmt
>, Info, <Summary>, <Lines>, <Hidden>, <Unused>, <All>) prog::tcov(<stmt
>, Annotate, <Path = pname
>, <Comment = comment
>) prog::tcov(<stmt
>,Export = fname
, <Annotate>, <Path = pname
>, <Comment = comment
>, <Graphical>)
prog::tcov
смотрит данные по операторам, выполняемым в коде библиотеки. MuPAD® собирает эти данные, если вы запускаете двигатель MuPAD с опцией-t. Чтобы установить различные варианты для того, чтобы запустить двигатель MuPAD, используйте поле Arguments в диалоговом окне Engine.
Можно использовать prog::tcov
в двух различных режимах:
С данным первым аргументом stmt
, prog::tcov
сброс вся tcov информация, оценивает оператор и показывает все передачи узла отладки для этого оператора во время оценки. prog::tcov
(stmt
) очищает всю информацию о передачах узла отладки текущего сеанса.
Без первого аргумента stmt
, prog::tcov
показывает информацию передачи узла отладки, собранную механизмом MuPAD во время целого сеанса.
Можно отобразиться, регистрируемый узел отладки передает экран, или экспортируйте данные в файл HTML. Также можно сохранить данные о передачах узла отладки в файл, который позволяет вам считать или восстановить целое состояние сеанса позже.
prog::tcov
может произвести аннотируемые исходные файлы, содержащие информацию, собранную prog::tcov
и исходный код MuPAD.
prog::tcov
может произвести экранируют выходные параметры.
Если вы используете Annotate
опция, prog::tcov
создает новые файлы. Поскольку некоторые операционные системы, создающие новые файлы, могут потребовать специальных полномочий.
Использовать prog::tcov
, запустите ядро в tcov режиме с опцией-t.
Выходные параметры в следующих примерах обрезаются в этой документации.
Следующий пример показывает короткую созданную процедуру и вызвал в prog::tcov
. Номера строки соответствуют тем в Отладчике:
f:= // 1 proc(a, b) // 2 begin // 3 if a > b then // 4 return(a) // 5 else // 6 return(f(b, a)) // 7 end_if // 8 end_proc: // 9
prog::tcov
возвращается все линии передали во время оценки f
:
prog::tcov(f(2, 1), Info, Lines)
File: /tmp/debug0.5932 Use index: 50% Nodes: 2/4 (0 hidden) Passes: 2 Line 4,0: 1 pass Line 5,0: 1 pass
prog::tcov(f(1, 2), Info, Lines)
File: /tmp/debug0.5932 Use index: 75% Nodes: 3/4 (0 hidden) Passes: 4 Line 4,0: 2 passes Line 5,0: 1 pass Line 7,0: 1 pass
Следующий пример показывает логгирование передач во время сеанса. Прежде, чем запустить этот пример, задайте функциональный f
из Примера 1.
Если при запуске ядро с опции-v, отсоединять команда показывает узлы отладки с информацией о передаче.
prog::tcov(Reset)
сброс вся tcov информация:
prog::tcov(Reset): prog::tcov(Info)
SUMMARY Files : 1 in 1 libraries Nodes : 0/4 (0 hidden) Use index : 0% Passes : 0 (~ 0.00 passes per all nodes)
Если вы вызываете функциональный f
дважды, количество передач удваивается:
f(1, 2): f(1, 4): prog::tcov(Info)
File: /tmp/debug0.5932 Use index: 75% Nodes: 3/4 (0 hidden) Passes: 8 Line 4,0: 4 passes Line 5,0: 2 passes Line 7,0: 2 passes
Чтобы видеть передачи, отсоедините функциональный f
:
expose(f)
proc(a, b) name f; begin // /tmp/debug0.5932:4,0 [4 passes]; if b < a then // /tmp/debug0.5932:5,0 [2 passes]; return(a) else // /tmp/debug0.5932:7,0 [2 passes]; return(f(b, a)) end_if; // /tmp/debug0.5932:9,0 [0 passes] end_proc
Можно записать tcov данные в файл данных:
prog::tcov(Write = "tcov_example.dat"):
Чтобы удалить информацию о предыдущих передачах, используйте Reset
опция:
prog::tcov(Reset): prog::tcov(Info)
SUMMARY Files : 1 in 1 libraries Nodes : 0/4 (0 hidden) Use index : 0% Passes : 0 (~ 0.00 passes per all nodes)
Чтобы получить бывшее состояние, используйте Append
опция:
prog::tcov(Append = "tcov_example.dat"): prog::tcov(Info, Summary)
SUMMARY Files : 1 in 1 libraries Nodes : 3/4 (0 hidden) Use index : 75% Passes : 8 (~ 2.00 passes per all nodes)
Кроме того, можно использовать Append
опция, чтобы добавить передачи:
prog::tcov(Append = "tcov_example.dat"): prog::tcov(Info, Summary)
SUMMARY Files : 1 in 1 libraries Nodes : 3/4 (0 hidden) Use index : 75% Passes : 16 (~ 4.00 passes per all nodes)
Следующий пример представляет неполные части кода. Обратите внимание на то, что вы не можете выполнить этот пример без линий дополнительного кода.
Предположим, у вас есть исходный файл со следующей функцией:
1: f := proc(a, b) 2: begin 3: if a > b then 4: return(a) 5: elif a = b then return(0) 6: else 7: f(b, a) 8: end_if 9: end_proc:
Прежде, чем выполнить этот исходный файл, read
команды. После того, чтобы читать команды все объекты, заданные в исходном файле, доступны в блокноте. Вызов функционального f
несколько раз и создавая аннотируемый исходный файл, вы добираетесь:
ff(2, 1): // passing lines 3 and 4 f(1, 1): // passing lines 3 and 5 twice // because line 5 has two debug nodes f(1, 2): // passing lines 3, 5, and 7 and // recursively 3 and 4, leave via line 9 // because the statement in line 7 has no return prog::tcov(Annotate)
Аннотируемый исходный файл использует тот же путь в качестве исходного файла и выглядит так:
// Generated by prog::tcov session 1: f := proc(a, b) 2: begin 3:4 if a > b then 4:2 return(a) 5:2 elif a = b then return( 5:1 0) 6: else 7:1 f(b, a) 8: end_if 9:1 end_proc:
Обратите внимание на то, что линия 5 содержит два узла отладки и появляется в двух линиях. Линия разделяет, где второй узел отладки запускается.
Для лучшей удобочитаемости аннотируемых исходных файлов используйте экспорт HTML.
|
Любой оператор MuPAD или выражение MuPAD |
|
Имя файла дано как строка |
|
Имя каталога дано как строка |
|
Любая строка |
|
Сбросьте количество передач в каждом узле отладки к 0. |
|
Опция, заданная как Эта опция позволяет вам писать информацию обо всех передачах узла отладки текущего сеанса к файлу |
|
Опция, заданная как Добавьте всю информацию о передачах узла отладки из файла Эта опция позволяет вам объединять данные, сгенерированные во время нескольких сеансов. |
|
Отобразите информацию о передачах узла отладки. |
|
Отобразите только краткое изложение. |
|
Отобразитесь каждый проходит через узел отладки. |
|
Отобразите все строки кода с узлами отладки, включая непереданные единицы. |
|
Эта опция позволяет вам отображать скрытые узлы отладки. Скрытый узел отладки является узлом в процедуре с noDebug опцией. |
|
Отобразите непереданные и скрытые узлы отладки. |
|
Опция, заданная как Эта опция позволяет, вы, чтобы отобразить узел отладки передаете информацию, таким образом, для всех исходных файлов чтения и для всех отдельных исходных файлов. Информация упорядочена согласно именам директорий, содержащих исходные файлы. Имена каталогов могут быть свернуты. Вы видите список всех файлов библиотеки ниже каждого имени библиотеки. Каждое имя файла представляет ссылку, которая указывает на аннотируемый исходный файл. Можно выбрать графические индексы. Каждая точка приводит к связанной линии в аннотируемом исходном файле. |
|
Эта опция позволяет вам переписывать, каждый выполнил исходный файл MuPAD В текстовом режиме разделяет линия, содержащая несколько узлов отладки так, чтобы каждая линия содержала один узел отладки (см. Пример 3). Новые файлы имеют расширение '.tcov' вместо '.mu'. См. также опцию Если эта опция используется вместе с |
|
Опция, заданная как Эта опция позволяет вам задавать путь |
|
Опция, заданная как Эта опция позволяет вам писать строке |
|
Покажите графический индекс для каждого исходного файла в файле экспорта HTML. |
prog::tcov
возвращает пустой объект null()
из типа DOM_NULL
.
Смочь использовать prog::tcov
функционируйте, запустите двигатель MuPAD с опцией-t. Используйте поле Arguments в диалоговом окне Engine, чтобы установить эту опцию.
Если при запуске ядро с помощью обеих опций -v
и -t
, функция отсоединяет, показывает информацию об узле отладки и передачах (см. Пример 2).
Функциональность prog::tcov
зависит от внутреннего отладчика. Для получения дополнительной информации смотрите страницу справки для debug
команда.
Некоторые специальные замечания:
Если библиотека MuPAD читается из архива tar (файл lib.tar
), prog::tcov
исключает из контроля все файлы из этого архива. Выход prog::tcov
также включает вызов prog::tcov
самостоятельно и некоторые другие передачи служебной функции MuPAD.
prog::tcov
количества только линии, содержащие “узел отладки”.
Когда названо опцией Write
или опция Append
, prog::tcov
создает файл данных с помощью следующего формата: "filename":fileindex:
. Для каждого чтения исходный файл MuPAD "имя файла" является именем исходного файла, и fileindex является числовым индексом. Для временных файлов индекс отрицателен:
-1:-1:
Двоеточие разделяет первое и вторые части:
fileindex:line:column:hidden:passes:unused:
Для каждого узла отладки fileindex соответствует первой части, линия и столбец решают, что запуск узла отладки в исходном файле, скрытом, 1 для скрытых узлов, в противном случае 0, передачи количество передач, неиспользованный пустая и в настоящее время неиспользованная строка.