Интернет магазин китайских планшетных компьютеров



Компьютеры - Valgrind - Обзор

02 мая 2011


Оглавление:
1. Valgrind
2. Обзор
3. Инструменты
4. Поддерживаемые платформы



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

Производительность значительно снижается из-за этих преобразований: обычно код, запущенный под Valgrind и «пустым» инструментом, работает в 4-5 раз медленее по сравнению с исполнением кода напрямую. Тем не менее, IR-форма гораздо более удобна для инструментирования, чем оригинал, и она значительно упрощает написание инструментов, а для большинства проектов снижение производительности не является существенной проблемой при отладке.



Просмотров: 3138


<<< SoftICE
VB Watch >>>