Найти - Пользователи
Полная версия: ActiveScriptDebug
Начало » Python для экспертов » ActiveScriptDebug
1 2
Kealon
Доброго времени суток всем, уже замучался устанавливать Python

проверяю отладку с помощью cscript /D excel.pys

пакеты
python-2.7.msi
pywin32-214.win32-py2.7.exe
и
python-3.1.3rc1.msi
pywin32-214.win32-py3.1.exe
вроде как в обоих есть поддержка IActivescriptDebug Lib\site-packages\win32comext\axdebug\
но в первом отладка даже не пытается вызываться а во втором пишет AXDebuger не найден

в чём тут грабли, подскажите пожалуйста кто знает?

Collector в 2.7 пишет следующее
Object with win32trace dispatcher created (object=None)
in <win32com.axscript.client.pyscript.PyScript instance at 0x018E3058>._InvokeEx_-SetScriptSite(<PyIActiveScriptSite at 0x0171CC38 with obj at 0x00037B40>,) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript instance at 0x018E3058>._InvokeEx_-InitNew() [1,0,None]
in <win32com.axscript.client.pyscript.PyScript instance at 0x018E3058>._InvokeEx_-AddNamedItem(u'WScript', 2) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript instance at 0x018E3058>._InvokeEx_-AddNamedItem(u'WSH', 2) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript instance at 0x018E3058>._InvokeEx_-SetScriptState(5,) [1,0,None]
система WIN XP SP3
Kealon
в 3.1 Collector пишет вот это
# win32com servers registered with '--debug' are in this category.
Object with win32trace dispatcher created (object=None)
in <win32com.axscript.client.pyscript.PyScript object at 0x0182FDB0>._InvokeEx_-SetScriptSite(<PyIActiveScriptSite at 0x01A62FF0 with obj at 0x00037B58>,) [1,0,None]
Debugging extensions (axdebug) module does not exist - debugging is disabled..
in <win32com.axscript.client.pyscript.PyScript object at 0x0182FDB0>._InvokeEx_-InitNew() [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x0182FDB0>._InvokeEx_-AddNamedItem('WScript', 2) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x0182FDB0>._InvokeEx_-AddNamedItem('WSH', 2) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x0182FDB0>._InvokeEx_-SetScriptState(5,) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x0182FDB0>._QueryInterface_ with unsupported IID b'IActiveScriptDebug' ({51973C10-CB0C-11D0-B5C9-00A0244A0E7A})
in <win32com.axscript.client.pyscript.PyScript object at 0x0182FDB0>._QueryInterface_ with unsupported IID b'IActiveScriptDebug' ({51973C10-CB0C-11D0-B5C9-00A0244A0E7A})
Kealon
я так понимаю что нет ничего :-( ???
Андрей Светлов
Наверное, никому не интересен Python в качестве Active Script
Kealon
Андрей Светлов
Видимо я первый :-)
с php такая же ботва
хотя в руководстве к Python 2.7

ActiveX Scripting
Python only supports “trusted” execution hosts - thus, it will no longer work as an engine inside IE (Python itself no longer has a restricted execution environment). Python continues to work fine as an Active Scripting Engine in all other applications, including Windows Scripting Host, and ASP.

There is also support for Python as an ActiveX Scripting Host.

Active Debugging seems to be fully functional. - как я понимаю полностью поддерживает

хотя вот что интересно, точки останова он вроде как ставить разрешает, SetBreakPoint отрабатывается успешно - хотя может быть это просто заглушка, но почему то на них не останавливается
Андрей Светлов
Без понятия. Я и запускал-то как active scripting пару раз в жизни лет десять назад.
И никогда - в отладке.

А интересно, зачем оно вам?
Kealon
Андрей Светлов
Без понятия. Я и запускал-то как active scripting пару раз в жизни лет десять назад.
И никогда - в отладке.

А интересно, зачем оно вам?
Написал отладчик для ScriptEngine, встроил в программу поддержку всех зарегистрированных языков, а по факту выходит кроме VBScript и JScript отладку не поддерживает ни один (RSL нашёл правда ещё и свой язык)

самое смешное - на сайте микрософт есть в качестве примера ForthScript, но там что то тоже не так и отладку он не поддерживает :-)
Андрей Светлов
Значит, так тому и быть.
pywin32 не является официальной частью питона.
Хаммонд понемногу его крутит - но только правит баги как я вижу.
Сомневаюсь, что ситуация поменяется в ближайшие годы. Нет заинтересованности.

А где используют ScriptEngine кроме Офиса?
Кажется, Микрософт усиленно развивает динамические языки в .Net (в первую очередь для SilverLight).
И забивает на свои старые поделки.
regall
Андрей Светлов
Кажется, Микрософт усиленно развивает динамические языки в .Net (в первую очередь для SilverLight).
Ну, не сказал бы что усиленно. В 3-й версии .NET появился Microsoft.Scripting, на этом активная разработка и закончилась ), а еще MS перестали финансово и человечиной поддерживать IronPython и IronRuby.
Андрей Светлов
в первую очередь для SilverLight
Это чудо вроде-как тоже уже еле дышит, ибо MS заявили, что истинная кроссплатформенность возможна только с HTML5, так что Silverlight и те RIA's, что с помощью него делают идут на второй план.
Андрей Светлов
И забивает на свои старые поделки.
А вот это да =). Очень многие разработчики, которые работают с технологиями MS в последнее время стремаются, во что въезжать, так как непонятно, не бросят ли они это.

ИМХО:
Учитывая статистику и историю последних лет MS уверенно растет только на рынке игровой индустрии, во всем остальном либо стоит на месте, либо потихоньку падает…
Kealon
Андрей Светлов
А где используют ScriptEngine кроме Офиса?
Internet Explorer :-)
Офис использует немного другую технологию
я использую уже лет 5, очень даже удобно, немного напрягало отсутствие отладчика, теперь вроде как более менее её решил

а вообще щас задача-выбор(я сам пишу на Delphi7):

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

есть ещё одно “недоразумение”, сторонняя прога, схожей направленности, которая содержит встроенный Python2.6 - отладчика там и в помине нет и когда будет - неизвестно, вот и хотелось бы свободно мигрировать частями кода, что б не переписывать по нескольку раз одинаковый функционал
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB