如何从Flash Builder(Flex 3.5)获得比“undefined”更好的信息?

时间:2013-04-11 14:15:15

标签: flex debugging flash-builder

我之前在控制台窗口中看到过“undefined”,但我可以弄明白它的含义。这一次,我在CollectionEvent (super(type, bubbles, cancelable);)的构造函数的开头行中得到它。我认为它是由对XMLListCollection的写入触发的。似乎没有任何未定义的东西 - this指针看起来很好,所有参数都可以。它有一个很大的堆栈跟踪,但没有关于什么是未定义的有用信息。如何进入下一个调试步骤?

undefined
    at mx.events::CollectionEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\events\CollectionEvent.as:116]
    at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1245]
    at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523]
    at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321]
    at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620]
    at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81]
    at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192]
    at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37]
    at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90]
    at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82]
    at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::ListCollectionView/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:879]
    at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1248]
    at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523]
    at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321]
    at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620]
    at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81]
    at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192]
    at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37]
    at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90]
    at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82]
    at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::ListCollectionView/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:879]
    at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1248]
    at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523]
    at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321]
    at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620]
    at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81]
    at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192]
    at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37]
    at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90]
    at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82]
    at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::ListCollectionView/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:879]
    at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1248]
    at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523]
    at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321]
    at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620]
    at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81]
    at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192]
    at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37]
    at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90]
    at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82]
    at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()

1 个答案:

答案 0 :(得分:0)

那是对的,"未定义的其他实例"都是由于无限递归导致堆栈溢出(而不是提供深思熟虑反馈的那种)。

我想象这些回调类似于MFC模型,其中消息排队并且仅在应用程序开发人员的代码执行完毕时处理(并且我认为重复的消息有时可能已合并)。显然,这不是发生了什么 - 正在进行更改并立即执行回调。我想我无法可靠地检测到XMLListCollection的变化:(

谢谢你们。