如何在控制台中调试Ext JS 4错误

时间:2013-08-27 06:20:42

标签: javascript extjs user-interface extjs4.2

其中一个错误是不允许应用程序完全加载。错误消息是非常泛型的,它没有清楚地说出具有该问题的模块:

  

未捕获的TypeError:无法读取属性'数据'是的   Uncaught TypeError: Cannot read property 'data' of null ext-all-debug.js:62557 Ext.define.setLabels ext-all-debug.js:62557 Ext.define.applyData ext-all-debug.js:62578 Ext.define.drawAxis ext-all-debug.js:61899 Ext.define.redraw ext-all-debug.js:60442 Ext.define.afterComponentLayout ext-all-debug.js:60382 Ext.define.notifyOwner ext-all-debug.js:37353 Ext.define.callLayout ext-all-debug.js:119598 Ext.define.flushLayouts ext-all-debug.js:119767 Ext.define.runComplete ext-all-debug.js:120253 callOverrideParent ext-all-debug.js:39 Base.implement.callParent ext-all-debug.js:4266 Ext.override.runComplete ext-all-debug.js:29267 Ext.define.run ext-all-debug.js:120234 Ext.define.statics.flushLayouts ext-all-debug.js:29275 Ext.define.statics.resumeLayouts ext-all-debug.js:29283 Ext.resumeLayouts ext-all-debug.js:31760 Ext.define.render ext-all-debug.js:28510 Ext.define.constructor ext-all-debug.js:29579 Base.implement.callParent ext-all-debug.js:4266 Ext.define.constructor ext-all-debug.js:33595 constructor ext-all-debug.js:4897 (anonymous function) Ext.ClassManager.instantiate ext-all-debug.js:5485 (anonymous function) ext-all-debug.js:2112 Ext.apply.create ext-all-debug.js:3788 Ext.define.initViewport ext-all-debug.js:57187 Ext.define.onBeforeLaunch ext-all-debug.js:57159 Ext.define.constructor ext-all-debug.js:57099 constructor ext-all-debug.js:4897 (anonymous function) ext-all-debug.js:7794 createSingle ext-all-debug.js:9863 fire ext-all-debug.js:9818 Ext.apply.readyEvent.readyEvent.fire ext-all-debug.js:10052 Ext.apply.fireReadyEvent ext-all-debug.js:10130 Ext.apply.onDocumentReady ext-all-debug.js:10148 Ext.apply.onReady.fn ext-all-debug.js:6658 Ext.apply.triggerReady ext-all-debug.js:6644 Ext.apply.refreshQueue ext-all-debug.js:6177 Ext.apply.refreshQueue ext-all-debug.js:6207 Ext.apply.refreshQueue ext-all-debug.js:6207 Ext.apply.refreshQueue ext-all-debug.js:6207 Ext.apply.refreshQueue ext-all-debug.js:6207 Ext.apply.refreshQueue ext-all-debug.js:6207 Ext.apply.refreshQueue ext-all-debug.js:6207 Ext.apply.refreshQueue ext-all-debug.js:6207 Ext.apply.onFileLoaded ext-all-debug.js:6587 (anonymous function) ext-all-debug.js:2105 Ext.apply.injectScriptElement.onLoadFn

错误指向ext-all-debug.js文件。 如何找出我指向的应用程序的哪个文件?

试图通过检查员进行调试;但并不富有成效。

1 个答案:

答案 0 :(得分:2)

ext-all-debug.js是框架中可用的所有Ext JS类的编译。当您调试应用程序时,使用ext-dev.js会更容易;此文件仅包含核心,所有其他类都使用Ext.Loader动态加载。请注意,只需切换到ext-dev.js不会消除错误,但它可以让您轻松快速地查明其位置。

将浏览器调试器设置为中断未处理的异常也是有益的。结合动态加载,您将获得错误所在的断点,并且您可以立即看到哪个类和方法。这个,堆栈跟踪和范围变量应该为您提供足够的线索来查找异常的原因。

我还建议您查看Sencha Cmd,它可以帮助您管理应用程序的构建过程。