ADVERTISEMENT
每個Windows系統的使用者,一定對於某些程式崩潰之後出現的「錯誤報告工具」不陌生。這個工具號稱能夠連網幫你尋找解決方案。不過,大多數情況下,使用者也不會對這個「錯誤報告工具」抱有什麼期待,往往發生過一次的問題會在往後很長一段時間會重複發生。
那麼,這個「錯誤報告工具」是真的有用嗎?還是只是一種類似安慰劑的效果,微軟只是想讓你感覺安心而已?針對這個問題,有網友在國外的Quora上面提問,而微軟的Windows Update Agent 軟體開發團隊的 Mark Phaedrus,回答了這個問題。
ADVERTISEMENT
這位網友的問題問的很直接:當應用程式當掉後,有時會跳出一個視窗表示「Windows正在連線幫你檢查這個程式的解決方案....」,這個時候它是真的有在做事嗎?如果是的話,為什麼我從來沒聽說過他真的有幫我們解決過問題?
Mark Phaedrus則最近回答了這個問題。他表示這個叫做「Windows Error Reporting」系統的機制原理流程簡單解釋如下:
步驟1:應用程式當掉
ADVERTISEMENT
步驟2:Windows 錯誤檢查機制啟動,首先會嘗試去獲取程式當掉的當下,正在做什麼工作的關鍵資訊
步驟3:透過上面獲取的資訊,來為這個當機資訊建立一個「Bucket Signature」,這是用來識別當機崩潰的一個簡單方法。因為儘管開發者無法透過一個單一的當機事件的「Bucket Signature」去瞭解這次的當機原因是什麼,但是如果有兩種不同的當機事件,有相同的「Bucket Signature」資訊的話,那麼就可以透過這種方式來判斷當機的原因。
步驟4:如果用戶在系統設定中設定允許上傳的話,「Windows Error Reporting」系統會將這次的「Bucket Signature」傳送給微軟。
ADVERTISEMENT
所以我們可以知道,當應用程式當機之後,你看到這個「Windows正在連線幫你檢查這個程式的解決方案....」視窗跳出,實際上表示的就是系統正在抓取這個應用程式當機時的關鍵資訊,然後為這個當機關鍵資訊建立「Bucket Signature」,並且把這個資訊上傳到微軟。
ADVERTISEMENT
三種不同的處理結果
而Mark Phaedrus解釋,隨著將「Bucket Signature」上傳到微軟之後,依照不同的情況,主要會有三種結果:
(1)微軟未能找到與你相同的「Bucket Signature」:這時伺服器那邊會僅僅記錄你上傳的這個當機的的「Bucket Signature」,並不會回饋給你任何後續的資訊。
(2)伺服器發現他們先前已經有大量相同的「Bucket Signature」,但還沒有解法:此時微軟會將相關的資訊指派給開發團隊去進行分析,但他們可能需要更多進一步的資訊,才能找到原因完成修復。
(3)已經有現成的解法,有相對問題的修復方式可以提供:伺服器這時就會向用戶的電腦回傳通知,有時會附有相關的連結,告訴你『你可以怎麼怎麼做來解決該問題』。
因此,從上面的流程可以知道,不同的狀況下會有不同的處理模式。因此,如果你沒有收到回應,那就表示你的問題可以比較罕見,或是還在等待解決之中。
不過,就算你是狀況三,有現成的解法你就真的能夠解決你目前的問題嗎?其實恐怕也未必。依照小編自己的經驗,有時微軟回傳提供的解法,有時也不見得就百分百真的有用。甚至有時可能就是硬體太過老舊,新的系統(或舊的系統)不支援。
- 新聞來源:quora
ADVERTISEMENT