簡體   English   中英

如何在Visual Studio 2017中調試.net dmp文件

[英]Howto debug a .net dmp file in visual studio 2017

我的服務是Windows服務,每隔2周+-幾天會在客戶服務器上崩潰。

  • 該服務以.net(vb.net/c#)編寫
  • 為任何CPU編譯
  • 不喜歡32位
  • .net Framework 4.5.2
  • 在具有64位CPU的服務器上運行
  • Visual Studio是2017專業版

由於我無法重現該問題,因此我想調試轉儲文件。

我確實根據https://msdn.microsoft.com/zh-cn/library/windows/desktop/bb787181%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396在服務器上設置了用戶模式轉儲

下圖顯示了如何在注冊表中配置用戶模式轉儲: 在此處輸入圖片說明

我可以打開此轉儲,但我得到的唯一信息是

線程嘗試從其沒有適當訪問權限的虛擬地址讀取或寫入虛擬地址。 在此處輸入圖片說明

如果隨后我開始調試(僅受管,混合和僅本機),則會顯示以下錯誤:

FooService.exe.3616.dmp中的0x000007FEF3FB09AF(clr.dll)處未處理的異常:0xC0000005:訪問沖突讀取位置0x0000000000000000。 在此處輸入圖片說明

任何提示我需要做什么才能從.dmp文件中獲取更多信息?

我想我現在了解了(或多或少)。

我沒有保存在發行模式文件的編譯過程中使用的pdb文件,而是嘗試基於同一源重新創建這些pdb文件,這似乎無法在Visual Studio中調試minidump。

但是,借助來自Microsoft的Debug Diagnostic Tool v2 Update 2 ,我可以基於已經存在的minidump獲取異常的堆棧跟蹤,並且現在可以找到錯誤。

我仍然不明白為什么Visual Studio無法顯示相同的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM