Как узнать позицию исполнения от IActiveScript
От: ury0005  
Дата: 04.03.07 13:52
Оценка:
Подскажите, пожалуйста, если кто знает, как получить позицию исполнения скрипта от IActiveScript. Ситуевина следующая — я записываю лог исполнения скрипта (лог вызовов моих процедур) и мне очень бы хотелось добавить в лог номер строки скрипта, но вот что-то я никак не соображу, как это сделать, если это вообще возможно.
Re: Как узнать позицию исполнения от IActiveScript
От: George Seryakov Россия  
Дата: 04.03.07 17:21
Оценка:
Здравствуйте, ury0005, Вы писали:

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


Через отладочные интерфейсы? Тогда просто отладчиком пройти.

Практически, в скрипт вставляется отладочная печать через функцию, экспортированную в скрипт.

А если скрипт ломается при выполенении, то что-то насчет строки на которой он сломался скриптовая машина отдает назад.
GS
Re[2]: Как узнать позицию исполнения от IActiveScript
От: Аноним  
Дата: 04.03.07 18:07
Оценка: 9 (1)
Всем спасибо за внимание, проблема порешена. Как говорится пока на всех форумах вопрос не задашь озареньне не наступит.
Если вдруг кому интересно, то делается все так:
1. В IActiveScriptSite реализуется IActiveScriptSiteDebug интерфейс (в этом сильно помогает IProcessDebugManager), после чего можно пользоваться интерфейсом IDebugStackFrameSnifferEx запрашиваемого из IActiveScript.
2. Далее добираемся до IDebugDocumentText и пользуем его метод GetPositionOfContext.
Конечно проктологический способ удаления гланд, ну да ладно — имеет право на жизнь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.