logo
Диалоговая оболочка отладчика MPI-программ

5.1 Постановка задачи

Целью данной дипломной работы является создание диалоговой оболочки отладчика MPI-программ для DVM-системы.

Целью создаваемых средств отладки является помощь программисту в обнаружении ошибок, их локализации и объяснении. Все компоненты отладчика (трассировщик, анализатор трасс одного запуска, сравнительный анализатор трасс двух запусков или компаратор, визуализатор или диалоговая оболочка отладчика) должны вносить свой вклад в достижение этой цели. Визуализатор, например, не только должен отображать диагностики, возникающие в процессе анализа, но и должен обеспечивать удобные средства для оценки состояния выполнения параллельной программы, просмотра истории этого выполнения, исследования исходных текстов программы. При этом важно поддержать взаимосвязь этих четырех видов отображения (состояние выполнения, диагностики отладчика, история выполнения, исходные тексты), обеспечивая удобные и эффективные средства переключения между этими видами отображения, согласованное и одновременное размещение на экране их фрагментов.

При распределении функций между анализатором и визуализатором необходимо помнить о том, что анализатор работает на параллельной машине, а визуализатор - на рабочей станции. Поэтому вся необходимая работа с трассами большого объема, отражающими историю выполнения программы на многих процессорах, производится на параллельной машине, а для визуализатора готовятся диагностики ограниченного объема. В состав таких диагностик, кроме непосредственно диагностических сообщений об ошибках и сообщений - предупреждений, могут входить извлеченные из трасс копии некоторых событий, которые помогают локализовать и объяснить ошибку. Кроме того, в виде диагностик передается визуализатору и информация о состоянии выполнения программы. Конечно, визуализатору доступны все трассы в полном объеме, но читать их он должен только в том случае, когда программисту потребовалось посмотреть историю выполнения программы на некотором подмножестве процессоров.

Визуализатор предоставляет пользователю широкий спектр возможностей и инструментов для обнаружения и локализации ошибок в исходном тексте программы. Рассмотрим основной перечень возможностей визуализатора и его структуру.