СИСТЕМА И СПОСОБ ПРОЗРАЧНОЙ ТРАССИРОВКИ И ПРОФИЛИРОВАНИЯ ВИРТУАЛИЗИРОВАННЫХ ВСТРОЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

1. Система прозрачной трассировки и профилирования виртуализированных встроенных вычислительных систем, содержащая монитор виртуальных машин (ВММ), связанный с аппаратурой встроенной вычислительной системы и со всеми ВМ системы, удаленную трассирующую/профилирующую систему, выполненную с возможностью отображения трассировочной/профилировочной информации и управления процессом трассировки/профилирования и связанную с трассирующей/профилирующей виртуальной машиной (ВМ) трассирующую/профилирующую ВМ, выполненную с возможностью принятия команд на формирование трассировочных/профилировочных вызовов от удаленной трассирующей/профилирующей системы, инициирования формирования трассировочных/профилировочных вызовов в ВММ, получения трассировочной/профилировочной информации от трассируемой/профилируемой ВМ через ВММ и передачи этой информации в удаленную трассирующую/профилирующую систему, трассируемую/профилируемую ВМ, являющуюся объектом трассировки/профилирования, отличающаяся тем, что ВММ дополнительно содержит блок трассировочных/профилировочных вызовов, выполненный с возможностью формирования трассировочных/профилировочных вызовов, которые обеспечивают установку пробных точек в заданных адресах памяти, с возможностью уведомления трассирующей/профилирующей ВМ о полученных данных, а также с возможностью получения от трассируемой/профилируемой ВМ трассировочной/профилировочной информации, предназначенной для трассирующей/профилирующей ВМ.
2. Система по п.1, отличающаяся тем, что удаленная трассирующая/профилирующая ВМ подсоединена к любому количеству трассируемых/профилируемых встроенных вычислительных систем.
3. Способ прозрачной трассировки и профилирования виртуализированных встроенных вычислительных систем, в котором:
определяют в удаленной трассирующей/профилирующей системе, по меньшей мере, одну пробную точку для трассируемой/профилируемой ВМ, при этом выбирают адреса памяти, предназначенные для трассировки/профилирования;
передают информацию о выбранных для трассировки/профилирования адресах из удаленной трассирующей/профилирующей системы в трассирующую/профилирующую ВМ;
формируют в блоке трассировочных/профилировочных вызовов ВММ трассировочные/профилировочные вызовы и замещают ими содержимое памяти в выбранных адресах памяти, при этом исходное содержимое памяти в выбранных адресах памяти сохраняют в профилирующей/трассирующей ВМ;
автоматически выполняют трассировочный/профилировочный вызов при попадании на один из адресов, содержащих пробную точку в трассируемой/профилируемой ВМ, при этом ВММ приостанавливает трассируемую/профилируемую ВМ, уведомляет трассирующую/профилирующую ВМ о получении трассировочной/профилировочной информации и предоставляет к ней доступ; выполнение вызова продолжают в трассирующей/профилирующей ВМ;
передают полученную трассировочную/профилировочную информацию по каналу связи в удаленную трассирующую/профилирующую систему, которая обрабатывает и отображает полученную информацию;
после завершения трассировки/профилирования по команде из удаленной трассирующей/профилирующей системы с помощью трассирующей/профилирующей ВМ при посредничестве ВММ восстанавливают содержимое памяти в выбранных адресах памяти трассируемой/профилируемой ВМ, после чего встроенная вычислительная система продолжает работать в обычном режиме.
4. Способ по п.3, отличающийся тем, что адреса пробных точек формируют динамически в процессе трассировки/профилирования.
5. Способ по п.3, отличающийся тем, что информацию об адресах пробных точек кэшируют в трассирующей/профилирующей ВМ.
6. Способ по п.3, отличающийся тем, что информацию, передающуюся между удаленной трассирующей/профилирующей системой и трассирующей/профилирующей ВМ, буферизируют.
7. Способ по п.3, отличающийся тем, что поддерживают механизм обеспечения безопасности, который ограничивает доступ к трассировочной/профилировочной функциональности.
8. Способ по п.3, отличающийся тем, что трассировочную/профилировочную информацию сохраняют и/или передают в сжатом состоянии.
9. Способ по п.3, отличающийся тем, что трассировочную/профилировочную информацию сохраняют и/или передают в зашифрованном состоянии.
10. Способ по п.3, отличающийся тем, что адреса памяти, предназначенные для трассировки/профилирования, принадлежат адресному пространству ядра операционной системы или любому приложению трассируемой/профилируемой ВМ.