Реализуйте немедленное окно для VBScript

Я реализовал отладчик с использованием C#. Он использует MSSCRIPT.ocx в качестве движка VBScript. Может кто-нибудь сказать мне, как я могу реализовать функцию немедленного окна в нем.

Желаемая особенность:

Должны показать все доступные переменные вместе с их значениями:

Например

i = 1

j = i+2

[Точка останова]

k = 3

При достижении точки останова в ближайшем окне должно отображаться i=1, j=3

Любой способ получить переменные во время выполнения из кода VBScript?

1 ответ

Решение

MSScript оборачивает целую кучу интерфейсов.

РЕЗЮМЕАктивные сценарии - это мощный инструмент для добавления расширенных функций, таких как макросы, в пользовательские приложения. Это создает потребность в интегрированных сервисах отладки для новых функций, добавленных с помощью сценариев. Чтобы удовлетворить эту потребность, Microsoft предоставила набор COM-интерфейсов для разработки служб отладки из среды Active Scripting.

В этой статье показано, как использовать службы отладки, опубликованные в среде Active Scripting, для создания полнофункционального отладчика сценариев, который может обеспечить множество действий по отладке, включая установку точек останова, просмотр стека вызовов, просмотр переменных, просмотр немедленных окон, перечисление потоков, и перечисление приложений.

Active Scripting APIs: добавьте мощную настраиваемую отладку в ваше приложение Script-Hosting

См. https://msdn.microsoft.com/en-us/magazine/cc301316.aspx

и для 10 миллионов интерфейсов. https://msdn.microsoft.com/en-us/library/6dy78b76(v=vs.94).aspx

И это то, что говорит помощь об использовании скрипта управления.

Чтобы сделать реализацию хоста максимально гибкой, предоставляется оболочка OLE Automation для Windows Script. Однако хост, который использует этот объект-обертку для создания экземпляра обработчика сценариев, не имеет степени контроля над пространством имен времени выполнения, моделью персистентности и т. Д., Который был бы при непосредственном использовании сценария Windows.

Сказав это, вы можете добавить свой собственный код, чтобы выполнить eval и выполнить в своем скрипте с воображением.

Другие вопросы по тегам