Полный стек вызовов для JS с несколькими фреймами в IE8

Мне нужно получить полный стек вызовов, когда в JavaScript возникает исключение в Internet Explorer 8. Вызовы функций могут происходить между фреймами, число которых велико.

Необходим стек вызовов. отправлять логи разработчикам. Я не могу использовать отладчик, потому что конечный пользователь не должен решать эту проблему.

Текущее решение для JavaScripts при условии, что оно может генерировать стек вызовов ( http://eriwen.com/javascript/js-stack- трассировка / ). Он основан на arguments.callee.caller. Но вызывающий возвращает ноль (неопределенный), если функция была вызвана вне текущего кадра. Таким образом, полученный стек вызовов является неполным.

Могу ли я получить имя кадра, из которого функция была вызвана в этом случае?

Решение, основанное на технологии Active Scripts, дает объект типа ScriptEngine: IHTMLDocument :: get_Script (IDispatch ** p)

Но приведение объекта «скрипт» к интерфейсу IActiveScript не удается.

* Могу ли я получить из IE8 ссылку, которая будет использоваться для данного контекста ScriptEngine, чтобы извлекать необходимую информацию для создания стека вызовов?

8
задан Wayne Koorts 5 February 2011 в 22:40
поделиться