2010-06-18 99 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