[Gadget] 除錯的提醒


前篇:[Gadget] 嗨 VBScript

中有提到:

除錯

Sidebar 資訊看板預設會將錯誤訊息擋掉,若需進行開發偵錯,需在註冊資訊檔加入如下項目:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Sidebar]
『ShowScriptErrors』=dword:00000001

亦可從此下載 DebugScript.reg 匯入亦可:https://skydrive.live.com/?sc=document&id=145419920BFD55A7%215777

關閉除錯功能可以使用刪除此機碼,或是將 DWORD 內容改為 0 。


那發生錯誤會怎樣呢?就是會出現下面的錯誤訊息盒。

由訊息盒可以得到三件事:

1. 錯誤發生在哪個檔案。

2. 錯誤發生在哪行、哪個字元。

3. 錯誤訊息為何。

有了這些資訊就很容易解決問題,因此這個對話盒就變得很有價值。

註:這部分我覺得 SQL Server 除錯的那些錯誤訊息文字實在是很難讓人查找問題啊…

上面的訊息盒是在非起始造成的錯誤,發生問題都可以顯示錯誤訊息盒。

但是在 Gadget 起始時,會處理 onDock / onUnDock 等事件,若這邊有重大錯誤,將造成 sidebar.exe 直接被當掉,而無法正確執行,從畫面上完全看不到發生何事,Gadget 畫面直接消失,所以只能依靠事件檢視器查找。下面的事件檢視器畫面是在 Win7 上拷貝下來的:

錯誤訊息為:失敗的應用程式名稱:sidebar.exe,版本:(當然隨 Windows 而不同),所以這句:失敗的模組名稱:ntdll.dll 沒有參考價值。

這時處理方法就是先把前面加的程式碼先註解掉,再重新執行 sidebar.exe,如果是安裝別人的 Gadget 發生此問題時,就需要依據前篇去 Gadget 存放的路徑尋找出新安裝的 Gadget 刪除該目錄。

Categories: 技術分享 | 發表留言

文章分頁導航

發表留言

在 WordPress.com 建立免費網站或網誌.