2010-06-18 158 views
0

考慮下面的代碼(寫有Visual Studio 2010和.NET 4.0)Visual Studio 2010中調試轉儲

using System; 

namespace DumpTester 
{ 
class Program 
{ 
    static void Main(string[] args) 
    { 
    int test = new Random().Next(); 


    Console.WriteLine(test + new Random().Next()); 

    Test(); 

    } 

    private static void Test() 
    { 
    throw new Exception(); 
    } 
} 
} 

在運行Visual Studio之外你得到微軟Windows 7的這個漂亮的窗口,它正在尋找一個辦法。很明顯,因爲這是我的應用程序,所以沒有。此時,我使用Process Explorer創建了我的應用程序的完整轉儲文件。

然後我從它的位置打開該dmp文件並嘗試調試。但無論我嘗試什麼,它都無法找到源符號的位置。我試圖把pdb放在轉儲旁邊,但它只是找不到它。

http://i50.tinypic.com/sgmhz4.png http://i50.tinypic.com/sgmhz4.png

的應用是建立與32位的設置和我試圖在32位機器上進行調試。當我將我的設置設置爲64位時,它可以很好地工作。

但問題是,我使用的應用程序已經是32位。

那麼你可以在64位窗口上調試32位轉儲嗎?

我在做什麼錯?

回答

1

您可以在64位機器上調試32位轉儲沒有問題。我建議由John Robbins提供這篇優秀的博客文章,當涉及到PDB文件時,here