2012-02-09 52 views
4

我在哪裏我所有的JavaScript錯誤似乎是從dojo.xd.js或子模塊來的一個問題。我使用chrome調試器和許多dijit功能,如dijit.declaration和dojo.parser。爲什麼dojo.xd。*。js在chrome中顯示非dojo javascript錯誤?

這是一個有點討厭,因爲它使得它很難找到簡單的錯誤或滑動窗口。我希望我可以添加一個選項,允許我的調試器顯示在我的非dojo代碼中將出現選項的位置。 我是新來的道場,所以我可能會犯一個簡單的錯誤。

typeError         
    dojo.Deferred.reject.errback        dojo.xd.js:14
+0

同樣的事情發生在螢火。 – mtyson 2012-02-09 23:24:13

+0

啊,如何解決這個螢火蟲? – Greg 2012-02-09 23:54:17

回答

4

錯誤發生該推遲的內部和異步鏈通過道場處理,並且可以混淆錯誤消息的位:從什麼應該是在非道場代碼nullpointexception

例錯誤。

如果您使用的是鍍鉻的調試器,你可以告訴它,每當一個例外通過在「腳本」選項卡中點擊「停車牌」,直到它變成藍色時,立即停止該程序的執行。

0

我覺得missingno的建議是一個很好的(值得一試 - 我沒有用過的方法)。

另外,我用得到的示數代碼另一種方式是:

  1. 設置在道場代碼中設置斷點,其中錯誤是顯示
  2. 使用堆棧麪包屑導航和向後移動到拋出錯誤的 代碼

在Firebug中,堆棧導航器位於顯示斷點的腳本列表的上方。

+0

我不認爲這是有效的 - 當Dojo代碼重新拋出異常時,堆棧已經從原始位置解開。根據我的經驗,您或者已經首先獲得了錯誤行號,或者您需要設置斷點*,其中最初引發了異常*。它可以得到[非常棘手(http://stackoverflow.com/questions/9183159/how-do-i-debug-my-asynchronous-promise-based-code-if-the-library-is-swallowing) – hugomg 2012-02-10 03:14:55

相關問題