PDA

Просмотр полной версии : Видимость объектов в дебаггере


bettrrr
06.08.2007, 16:45
запускаю дебаггер там во вкладке variables на нулевом уровне видны объекты классов.
например:
var TFC_obj = new TimeFieldCreator();
и
var my_xml:XML = new XML();
но не виден объект
var XML_obj = new XMLParser(my_xml);
А мне его ОЧЕНЬ надо отладить, т.к. хз что я там понаделал :)

на всякий слуачай вот код проблемного класса:
class XMLParser {

public var XMLArr:Array = new Array();


function XMLParser(XMLData) {
this.Parse(XMLData.firstChild, this);
trace ("XMLParser created");
}
function Parse(node, nodeParent) {
while (node != null) {
if (node.nodeType !== 3) {
nodeParent[node.nodeName] = true;
if (node.hasChildNodes()) {
this.Parse(node.firstChild, nodeParent[node.nodeName]);
}
} else {
nodeParent = node.nodeValue;
}
node = node.nextSibling;
}
return true;
}
}

etc
06.08.2007, 22:35
Плюс за ап.

Я, например, никогда не пользовался дебаггером и не пользуюсь.

Kikasso
07.08.2007, 02:11
Ну напишите свой дебаггер. Что-нибудь вроде
for( var p in my_xml )trace(p + ':' + my+xml[p]);
Оформите в виде функции, по нажатию кнопки запустите. Можно запихать в текстовае поле. Можно в клипборд.
Еще в окошке плеера (того, что по ctrl+Enter появлется) есть менюшка debug. Потыкайте в нее, может сгодится.

bettrrr
07.08.2007, 12:49
Ну напишите свой дебаггер. Что-нибудь вроде
for( var p in my_xml )trace(p + ':' + my+xml[p]);
Оформите в виде функции, по нажатию кнопки запустите. Можно запихать в текстовае поле. Можно в клипборд.
Еще в окошке плеера (того, что по ctrl+Enter появлется) есть менюшка debug. Потыкайте в нее, может сгодится.
в окне плеера пункт debug даёт идентичный результат.

Свою функцию написать не получится, т.к. XML файл имеет произвольную структуру.
Я пишу функцию обхода дерева, и мне её надо проверить. Получается, чтобы её проверить мне тоже надо написать функцию обхода.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Обнаружил причину глюка в дебаггере!!!
не отображается из-за того, что класс вызывается внутри my_xml.onLoad = function(success) {}
когда я протестировал с использованием функции my_xml.parseXML() глюк изчез.

Видимо дебаггер отражает переменные на "срезе", сделанном в момент, когда заканчивается выполнение последней строки кода.