2012-07-12 40 views
1

在生產服務器上安裝WinDBG有沒有優勢?服務器上的WinDBG安裝

我已閱讀了AdPlus和WinDBG之間的區別。另一位開發人員表示,他們在服務器上使用AdPlus在其客戶端PC上創建轉儲文件和WinDBG以分析它。

我知道ADPlus是CDB的包裝,而WinDBG更多。我的問題是:在生產服務器上安裝WinDBG是否過分矯枉過正?我在Visual Studio之外調試相對比較新。我正在調試使用VB.NET(客戶端應用程序)和ASP.NET的系統。有內存泄漏

回答

0

如果您安裝了ADPlus,您將能夠在應用程序崩潰或掛起或其他問題(內存泄漏)的情況下生成轉儲文件。然後你需要分析這個轉儲文件。 WinDBG將幫助你做到這一點。將它安裝在生產服務器上並不是必需的。您可以將轉儲文件複製到開發機器並在那裏分析。無論如何,WinDBG不會是多餘的。如果出現嚴重問題,您將能夠儘快瞭解根本原因。 如果WinDBG沒有運行,它本身沒有任何性能影響。 此外,您可以使用WinDBG附加到進程並在運行時進行調試。

0

在服務器上安裝WinDbg將允許您在現場調試現場系統,並且您可以通過在服務器上運行WinDbg Debug服務來執行遠程調試,如果您有一些獨特的複製條件在您的開發環境中難以重現的錯誤。

除此之外,如果你只是分析崩潰轉儲或內存轉儲,那麼沒有安裝WinDbg的優勢,所以它會是這個原因矯枉過正。

還有就是告訴你什麼時候使用ADPlus這裏的鏈接:http://support.microsoft.com/kb/286350

我個人的想法是,如果它你需要什麼,然後你不需要的WinDbg,他說,如果你有安裝的WinDbg你可以啓用gflags,獲取堆棧跟蹤,處理跟蹤,在特定的異常上創建轉儲,將附加信息轉儲到內存轉儲不包含的日誌等等。所以基本上我只會在需要的情況下安裝WinDbg,否則Adplus沒問題。

+0

我同意您的意見。 AdPlus是否僅適用於生產內存轉儲? – w0051977 2012-07-12 17:18:18

1

您不需要安裝WinDbg/AdPlus。如果你需要它,你可以簡單地將這些文件拷貝到服務器上,甚至可以從共享/ USB /任何地方運行應用程序。

AdPlus是一個腳本(它曾經是,現在它是一個託管的應用程序)。我不會把它稱爲CDB的包裝。它只是自動化使用CDB進行各種任務,例如在特定條件下創建內存轉儲。它做得很好,但你可能也想看看ProcDump,因爲它提供了一些額外的非常有用的選項。

CDB,WinDbg和NTSD都是Debugging Tools for Windows軟件包附帶的調試器。 CDB和NTSD是命令行工具,而WinDbg提供了一個圖形用戶界面(不是很花哨的,但這不是重點)。它們在下面使用相同的調試引擎。

+0

謝謝你。我已經在服務器上安裝了WinDBG。我已按照此頁上的說明設置文件路徑:設置_NT_SYMBOL_PATH,但符號文件夾爲空。是否有命令實際下載符號? – w0051977 2012-07-13 20:26:30

+0

符號僅根據需要下載。如果您想在調試會話期間強制加載符號,您可以執行'.reload/force'。使用'!sym noisy'解決加載符號的問題。 – 2012-07-13 20:33:09