Я определенно испытал xterm
вставка произвольных символов в себя, как будто я ввел их. И при случае это, по-видимому, включало символ новой строки, так, чтобы я добрался ngwerm:0riu: command not found
как ответ. Я не вижу оснований, почему кто-то не мог обработать файл, который отправит определенные, вредные команды. Таким образом да, по крайней мере некоторые терминалы восприимчивы к нападениям с произвольным влиянием.
Команда qemu
принимает простой ключ -d
, который создает файл журнала с именем /tmp/qemu.log
.
Вы можете получить доступ к дополнительным параметрам ведения журнала / отладки через QEMU Monitor (например, qemu -monitor stdio
).
Любая опция ведения журнала, предоставляемая QEMU, будет слишком низкоуровневой для того, что вам нужно: ваша проблема не в том, что виртуальное оборудование работает некорректно, а только в том, что программное обеспечение внутри виртуальной машины требует внимание.
В этом отношении виртуальная машина не отличается от реальной машины, и решение то же самое. Ваш вопрос предполагает, что виртуальная машина работает под управлением FreeBSD, поэтому вам следует проверить, используя rsyslog
, чтобы отправить журналы на внешний сервер системного журнала (который может быть вашим хост-компьютером) через сетевое соединение.
(Я не очень хорошо знаком с BSD, поэтому я не уверен на 100%, что rsyslog
- правильное или единственное решение здесь, но это ключевое слово должно помочь вам начать.)
Если вы используете параметр -d <component>
при запуске QEMU, он активирует отладку для этого компонента. Это полезно, если у вас есть исходный код QEMU и вы хотите увидеть подробные отладки для данного компонента.
Например, передача -d cpu_reset
активирует отладку CPU _LOG _RESET, которая будет «показывать состояние CPU перед перезагрузкой CPU». Полный список параметров ведения журнала см. в qemu/util/log.c .
По умолчанию журналы записываются в /tmp/qemu.log, но вы можете указать другой файл журнала с помощью параметра -D <logfile>
.