在其一生當中或多或少(不可能沒有)在寫程式時遇到錯誤的情況
常常看到"XXXXXX,錯誤碼為:XXXX"之類的情況
很理所當然的就是上網找看看別人遇到一樣的問題怎麼解決
偏偏中文資料少之又少
有中文的偏偏只有講解法卻沒有詳細說明原因
又或者是對你是無解的
像小弟我都是先知道該錯誤碼是什麼問題
再用那個問題去搜索
這樣比較容易找到解法
又或者是將中文註解轉英文去找
找到的資料再轉成中文來看(英文爛也是無解題....)
這邊就來介紹一下幾個方便查詢錯誤碼解法的東西:
錯誤碼查詢工具:Exchange Server Error Code Look-up
下載的是一個自動解壓縮的執行檔解壓縮後在你指定路徑後有Err.exe
此為指令列執行檔,請由命令提示字元去執行
只要輸入err xxx(xxx為錯誤碼)即可查出此錯誤碼的相關資訊,例如:
如上圖示
編號 1 是 Err.exe 在哪個 Header 檔案中找到錯誤碼的定義
編號 2 是找到的常數定義
編號 3 是對應的註解,而這個註解正是可以幫我們更容易利用 Google 大神找到解答的關鍵!
如果你得到的錯誤碼是 16 進位,也是可以查詢的,例如:err 0xb7
其實有很多查詢格式,提供不同產品或事件檢視器中得到的錯誤碼,如下:
Decorated hex (0x54f)
Implicit hex (54f)
Ambiguous (1359)
Exact string (=ERROR_INTERNAL_ERROR)
Substring (:INTERNAL_ERROR)
VS內建錯誤碼查詢工具:errlook.exe
這是安裝VS就有提供的好用工具路徑為下:
VS2003
C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\errlook.exe
VS2005
C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\errlook.exe
VS2008
C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\errlook.exe
VS2010
C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\errlook.exe
errlook是有圖形介面(GUI)的查詢工具,內建於VS中又很方便查詢,只要有安裝VS就可以不必額外安裝,如下圖:
上面介紹了2個查詢工具
這邊來做一下優缺點分析
(註:若VS安裝的是中文版,而errlook就會是中文介面)
工具名稱 | 優點 | 缺點 |
Exchange Server Error Code Look-up | 1.查詢結果相當詳細 2.註解不用翻譯成微軟原文 | 1.需下載 2.需使用命令提示字元執行 3.英文描述 |
errlook | 1.內建免下載 2.GUI介面方便使用 3.中文描述易懂 | 1.註解需翻譯成微軟原文較易網路上搜索國外解法 2.查詢結果只有描述,無其他詳細資訊 |
以上介紹了好用的查詢錯誤碼工具,再來我們就需要將查詢到的資訊轉成微軟原文,這樣上網找英文資料時才可以更為正確與快速,下面為連結網址:
微軟語言入口
這邊可以將我們取得的錯誤碼資訊翻譯成各國語言
註:原文若選擇英文以外的語言,則會強制轉成英文,想再轉其他語言,需用轉出來的英文再去轉一次
範例1:
錯誤碼183取得的訊息為"當檔案已存在時,無法建立該檔案。"
轉換後得到結果為:
英文 | 譯文 | 產品 |
Cannot create a file when that file already exists. | 當檔案已存在時,無法建立該檔案。 | Windows Server 2008 |
Cannot create a file when that file already exists. | 當檔案已存在時,無法建立該檔案。 | Windows Vista SP1 |
Cannot create a file when that file already exists. | 當檔案已存在時,無法建立該檔案。 | Windows Server 2003 SP1 |
Cannot create a file when that file already exists. | 當檔案已存在時,無法建立該檔案。 | Windows Vista |
Cannot create a file when that file already exists.\r\n | 當檔案已存在時,無法建立該檔案。\r\n | Windows 7 |
範例2:
建立具有整合式安全性的連接時 SSPI 交握失敗,其錯誤碼為 0x8009030c; 此連接已經關閉。
這是一個SQL Server 連線問題,0x8009030c很明顯的就是一個變數,所以這邊取中文描述就好去搜索就好。
轉換結果:
英文 | 譯文 | 產品 |
SSPI handshake failed with error code 0x%1!s! while establishing a connection with integrated security; the connection has been closed.%2!s! | 建立具有整合式安全性的連接時 SSPI 交握失敗,其錯誤碼為 0x%1!s!; 此連接已經關閉。%2!s! | SQL Server 2008 |
SSPI handshake failed with error code 0x%1!s!, state %2!s! while establishing a connection with integrated security; the connection has been closed. Reason: %3!s! %4!s!. \r\n | 建立具有整合式安全性的連接時 SSPI 交握失敗,錯誤碼為 0x%1!s!,狀態為 %2!s!; 此連接已經關閉。原因: %3!s! %4!s!。\r\n | SQL Server 2008 R2 |
回首頁
沒有留言 :
張貼留言