v1.59:
! Исправлена ошибка: "улет" при выводе предупреждения о вызове
неизвестной функции если цепочка состоит из одного элемента.
v1.58:
+ Добавлена детализация сообщения о вызове неизвестной функции.
v1.57:
+ Документация: добавлен раздел "Ограничения"
# Косметические изменения формата отчета
! Вывод отчета о считывании "пустого" файла перенесен в разряд
отладочной информации.
! Исправлен баг: "Улет" программы при ститывании файла
подстановок указателей если отсутствует LIB-stk информация.
v1.56:
! Документация соответствует всем изменениям, а так же
+ описание состава архива
+ системные требования
+ screenshot 'отчёта' Softune C-analise
v1.55:
# "Работа над ошибками"
- единая форма сообщений
- при всех фатальных ошибках код возврата "-1"
! подсказка соответствует всем изменениям
v1.54:
+ /e - файл списка исключенных из обработки objstk-файлов
! Не выводилось значение двойного параметра в информационную строчку
+ считается средний (интегральный) стек
v1.52:
+ /l - вывод списка ROOT-функций.
Это те функции который не вызываются, причём явно.
- _main (_tasks...)
- Interrupt Handlers
- Calling with pointers
- Not used function ___!!!___ ("мёртвый груз")
+ /q - включить вывод отладочной информации
+ В поток результатов выводится строка запуска
+ Добавлен каталог с примером
+ исправлена фича, с ключами -m-v не выводилась результирующая строка
при выводе максимальной цепочки.
v1.5:
# Рихтовка документации.
v1.5b2:
+ /v - вывод цепочки с максимальным размером стека
+ Вывод количества максимумов
+ Описание ключа /v
v1.5b1:
# Проект разбит на функциональные модули.
# Переоформлена подсказка.
+ Получение базы по списку .obj и .lib файлов в секции
'Input Module(s)' map-файла проекта (идея Андрея Мозжевилова).
+ /i - каталог размещения проектных stk-файлов.
- /L - не нужен.
! Найдена и исправлена ошибка - не работала перегрузка lib-функций,
если функция переписана в исходниках.
! Обработка случая, когда НИЧЕГО не считано по map-файлу.
v1.00:
+ /a - альтернативный вариант вывода цепочек (Алексей Дистель)
(работает совместно с ключем /c)
v0_99b2:
! Исправлена функция считывания строки из файла
- игнорируются пустые строки ( содержит только перевод)
- правильно читается последняя строка файла, если она без перевода
v0_99b:
! Форматирование вывода цепочек:
результат под текущей, а не над следующей.
v0_99a:
+ Работа с простым списком в опции /g
v0_99:
+ help ключа /g
+ /g - файл с описанием групп
v0_98:
# Оформительство + help
+ Проверка на зацикливание в первой цепочке (но не проверено)
! Первый элемент в цепочке дублировался.
! Исправлен метод по созданию первой цепочки.
Правильно обрабатывает случай, если ф-я ничего не вызывает.
v0_97:
+ работает /p "Чтение информации о функциях, вызываемых по указателю"
!!!--- появились зацикливания
+ выявления зацикливаний
+ id функции
+ cycle_test()
+ отображение {Z}
+ Контроль выхода за пределы массива цепочки.
+ ПОКА: если не задан /f анализируем '_main'
! GetStr сам обрезает перевод строки.
v0_95:
+ Работает маркировка функций и цепочек с асм-вставками.
+ Работает /m /c /r /s /l
+ /f пока должен быть обязательно
+ Параметры определяются в ком. строке
! /p ещё не обрабатывается
v0_91:
+ Описание исключаемых из обработки строк входных файлов.
+ Игнорируются строки, начинающиеся на '!' - в файле присутствуют
функции с асм-вставками.
+ Обработка строк stk-файла:
обрезается метка о том, что функция имеет асм-вставку
+ DEBUG: вывод дерева после сканирования.
+ Выбирается максимальное значение объёма стека.
+ Возможно подстыковывать libXXXX.stk.
! В первом пути правильно обрабатывается ссылка на функцию без описания.
! "До последнего" выполняется сканирование ствола.
! Работает подсчёт всех вариантов вложения.
v0_8:
+ работает поиск первой цепочки вызовов.
+ help
+ в элементы ветки пишется величина стека функции, вызывающей эти элементы
! при сканировании и выводе проход по всему стволу и веткам