2

時,當測試和調試使用附加組件SDK 1.0,我有時會注意到在調試輸出窗口下面的擴展錯誤:如何調試「在未經許可的拒絕」,使用Firefox附加組件SDK

error: An exception occurred. 
Traceback (most recent call last): 
Error: Permission denied to access object 

是否有任何獲取更多信息的方式?有些調用堆棧信息會很好。此外它有助於瞭解訪問被拒絕的「對象」。

(我知道我可以把console.debug()每次調用語句之前,但我這裏尋找一個更優雅的方式)

+2

鑑於traceback字段是空的 - Gecko本身似乎並不知道,錯誤顯然發生在一些C++代碼中,沒有任何JavaScript在堆棧上。這將表明一些異步行爲,例如一個'XMLHttpRequest'導致重定向到一個不同的主機,並提示'permission denied'錯誤。不幸的是,很難調試,即使'console.debug()對異步操作沒有多大幫助。 –

+0

那麼它可能確實是一個像你所描述的'XMLHttpRequest'的問題。沒有解決一般問題,但可能足以解決我的具體問題。謝謝! – magnoz

+0

你有沒有試過通過'$ cfx run -v'運行擴展? – erikvold

回答

0

正如弗拉基米爾指出,這其實是在壁虎的錯誤報告的缺乏。因此,爲了調試它而不需要遍佈所有的地方,你必須使用C++級別的調試器或者核心缺陷被識別和修復。 https://bugzilla.mozilla.org/show_bug.cgi?id=435025已經跟蹤了很多可以改善錯誤信息的情況。