5.13 Окно просмотра трасс (Trace control)
Окно Trace control состоит из двух частей (окон): окно трассы Trace view и окно Text control (Рис 9).
В окне Trace view представляются в текстовом виде события трассы, упорядоченные по времени. События, определенные отладчиком как ошибочные, имеют соответствующие пометки в поле признака ошибки, а также снабжаются текстовыми сообщениями об ошибках.
Каждому событию соответствует срока формата
<номер события> <вызов/возврат> <имя функции> <время события> <имя файла> <ссылка на исходные коды> <признак ошибки> <название ошибки> <текст ошибки>
Где <вызов/возврата>- признак вызова или возврата из функции
<ссылка на исходные коды> - ссылка на текст программы, где происходит обращение к функции или возврат из нее
<признак ошибки> - может отсутствовать, либо указывать на наличие ошибки или предупреждения
Каждому событию соответствует ссылка на исходные коды или неопределенная ссылка. При смене строки в окне Trace view обновляется содержимое окна Text control, в нем выводится стек и исходные тексты, соответствующие ссылке в текущем событии из окна Trace view.
Рис 9. Окно Trace control.
Управление:
В окне Trace control через меню Actions возможны следующие действия:
· Полный/сокращенный просмотр стека. Установка (снятие) данного режима позволяет показывать (прятать) окно Stack view в окне Text control. При отключении стека показывается последнее событие в стеке вызовов, а точнее исходный текст, соответствующий этому событию.
· Показать/спрятать окно Stack control. Позволяет показать (спрятать) окно Stack control. При отключении показа окна Stack control ускоряется навигация по списку событий, пользователь может включить показ исходных кодов только для интересующего его события.
· Показать/спрятать окно Trace view. Позволяет пользователю подробнее рассмотреть интересующие его исходные коды.
· Найти первую ошибку. Находит в списке событий первое событие с признаком ошибки и делает его текущим.
· Найти первую ошибку или предупреждение. Находит в списке событий первое событие с признаком ошибки или предупреждения и делает его текущим.
· Найти следующую ошибку. Находит следующее событие с признаком ошибки и делает его текущим.
· Найти следующую ошибку или предупреждение. Находит следующее событие с признаком ошибки или предупреждения и делает его текущим.
Некоторым событиям может соответствовать ссылка на другое событие (например, последовательность событий, приводящая к ошибке типа deadlock). При двойном щелчке мышью на этом событии, вызывается окно Trace control, в котором отображаются события на процессоре, на котором произошло следующее событие. Причем, текущим становится событие, следующее в последовательности.
Заключение
В ходе работы были изучены модели параллельного программирования, методики и средства отладки параллельных программ, методики создания пользовательского интерфейса. Изучена графическая библиотека Qt [13], которая была выбрана как база для реализации из-за того, что она обеспечивает работу приложения в двух операционных средах – UNIX и Windows. Изучено программное средство Qt Designer. Проанализированы вопросы визуализации отладочной информации, способов точной локализации и представления ошибок.
Была разработана, спроектирована и реализована диалоговая оболочка MPI-отладчика. Язык реализации C++ (объем программы 12700 сток), платформа Linux, графическая библиотека Qt 3.2. Определен набор функций, необходимый для быстрой и точной локализации ошибок. Предложены новые способы визуализации трассировки, например Event line (сравните с Time line, используемой в большинстве существующих средств отладки). Реализован пользовательский интерфейс, который был опробирован при отработке MPI-отладчика на тестах и реальных приложениях.
В дальнейшем возможно улучшение пользовательского интерфейса, добавление новых меню и панелей инструментов. Планируется добавление в MPI-отладчик и его диалоговую оболочку средств анализа эффективности выполнения программы. Также планируется перенос MPI-отладчика на платформу Windows, что возможно осуществить, благодаря использованию кросс-платформенной библиотеки Qt.
Литература
1. MPI: A Message-Passing Interface Standard. http://www.mpi-forum.org/docs /docs.html
2. High Performance Fortran language specification // High Performance Fortran Forum. Scientific Programming. – 1993. – Vol. 2. – Р.1-170.
3. OpenMP Consortium. http://www.openmp.org
4. Документация к системе DVM. http://www.keldysh.ru/pages/dvm
5. NASA http://science.nas.nasa.gov/Software/AIMS/manual
6. Описание программных средств отладки Vampir и VampirTrace http://www.pallas.com/e/products/vampir
7. Гибсон Ф. "Экологический подход к психологии восприятия"
8. Донской М. Пользовательский интерфейс. PC Magazine – Russian Edition © СК Пресс.
9. Parallel Relative Debugging for Distributed Memory Applications. Gregory R. Watson and David Abramson. School of Computer Science and Software Engineering Monash University.
10. Qt library documentation http://www.trolltech.com
11. High Performance Cluster Computing: Architectures and Systems, Vol. 1. Edited by Rajkumar Buyya. School of Computer Science and Software Engineering Monash University.
12. Solaris 7 Software Developer Collection. Multithreaded Programming Guide. Tools for Enhancing MT Programs. http://docs.sun.com/db/doc/805-5080/6 j4q7emhk?q=Locklint&a=view
13. Isolating Failure-Inducing Thread Schedules. International Symposium on Software Testing and Analysis (ISSTA2002), Via di Ripetta, Rome Italy, July 22-24, 2002. http://www.research.ibm.com/dejavu/choi-zeller.pdf
... работы пользователя в различной сетевой среде и обеспечивать студентов знаниями в области сетевых технологий. - самостоятельная работа студентов с литературой и в компьютерных классах. Программа курса "Администрирование в информационных системах и администрирование виртуальных машин" определяет подготовку студентов специальности "Информационные системы и технологии" в использовании сетевых ...
0 комментариев