Jump to content

Трассировка ветвей

Трассировка ветвей — это или метод анализа компьютерных программ инструмент . Это сокращенная трассировка инструкций, в которой успешного перехода записываются только команды . В IBM System/360 это было реализовано как часть записи программ и событий (PER). [1] но редко использовался на уровне прикладного программирования. Использовалось аппаратное обеспечение программной записи событий, но из-за накладных расходов на этот инструмент он был удален из доступных клиентам MVS систем .

Трассировка ветвей также доступна для Pentium 4 , Xeon и более поздних версий процессоров Intel . [2] Существуют специальные команды процессора для включения трассировки ветвей и сохранения выполненных ветвей в специальной области резидентной памяти Intel Branch Trace Store (BTS). Хранилище трассировки ветвей также можно настроить как кольцевой буфер, чтобы записывать последние выполненные ветки. Трассировка ветвей на процессорах Intel с использованием Branch Trace Store может привести к замедлению времени выполнения приложения в 40 раз. [3] Для процессоров Intel Core M и 5-го поколения процессоров Intel была введена технология Intel PT (Processor Trace), целью которой является обеспечение полной трассировки потока управления. Говорят, что Intel PT оказывает лишь минимальное влияние на выполнение программы (< 5%). [4]

Использовать

[ редактировать ]

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

Альтернативы

[ редактировать ]

Более полную трассировку всех инструкций (включая инструкции между ветвями) можно получить с помощью симулятора набора команд (если он доступен на некоторых платформах). Полная трассировка инструкций может предоставить дополнительную информацию, такую ​​как адрес/длина и значение изменений памяти.

См. также

[ редактировать ]
  1. ^ «Центр знаний IBM» . publib.boulder.ibm.com . [ постоянная мертвая ссылка ]
  2. ^ IA-32 Архитектура Intel® Руководство разработчика программного обеспечения ( ftp://download.intel.com/support/processors/celeron/sb/6.pdf [ постоянная мертвая ссылка ] ), Том 3B: Руководство по системному программированию, Часть 2, Глава 18.4 Обзор записи последней ветки.
  3. ^ Использование достижений аппаратного обеспечения для тестирования и отладки программного обеспечения (NIER Track) , Мэри Лу Соффа, Кристен Р. Уолкотт, Джейсон Марс, в Трудах ICSE , 2011. См. главу 4.2 Хранилище трассировки ветвей.
  4. ^ Руководство разработчика программного обеспечения для архитектур Intel® 64 и IA-32 , см. главу 35 «Трассировка процессора Intel».
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c35f771bc9db0c7d9bc83db6a11cd250__1608136500
URL1:https://arc.ask3.ru/arc/aa/c3/50/c35f771bc9db0c7d9bc83db6a11cd250.html
Заголовок, (Title) документа по адресу, URL1:
Branch trace - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)