2012-05-10 99 views
3

我在wince7设备上调试我的应用程序。缺少pdb文件

几分钟后,我收到一个错误:“没有任何符号加载任何调用堆栈帧,源代码无法显示。”

我注意到在模块列表中,我有1个DLL缺少pdb文件。它的名字是System.Drawing.dll。 我注意到模块添加到模块列表后,一些线程(我不创建,我不知道是谁)创建。

我只在线程运行后才收到错误。

任何人都知道在哪里可以找到所需的pdb文件? (我已经尝试修复.net紧凑框架)

如何找出线程的起始位置? (我在代码中找不到它)

接下来应该怎么办?

请帮

+0

您必须在“选项”对话框中启用.NET Framework源代码步进。 –

回答

6

里面的Visual Studio

工具 - >选项 - >调试 - >符号 - >检查Microsoft符号服务器可从中获取符号的位置。

也在调试中的常规选项卡中取消选中“启用只是我的代码”,这将允许调试到其他程序集。

还启用.NET Framework源代码步骤复选框。

但我会推荐的是从符号服务器下载所有符号并将它们保存在本地。

然后在Visual Studio中的符号中添加本地目录路径作为符号路径。

下载符号 - >

在调试符号选项卡,选中Microsoft符号服务器,然后按确定。下载完成后,您可以添加另一条路径,并指向该目录,并取消Microsoft符号服务器或移动符号服务器路径上面的本地路径Visual Studio将自动下载符号的缓存目录

C:\Users\[UserName]\AppData\Local\Temp\SymbolCache 

现在您应该可以加载符号并获取方法名称。

你也可能想看看http://msdn.microsoft.com/en-us/library/windows/hardware/ff558829(v=vs.85).aspx

希望这有助于。

+0

谢谢。我找到了System.Drawing.dll的符号。现在它要求mscorlib的符号。你知道我在哪里可以找到它吗? – janneob

+0

如果您已按照步骤操作,可以在工具 - >选项的调试选项卡下查看Visual Studio的本地缓存目录,打开该目录并检查名为mscorlib的文件夹。如果它不存在,请检查Microsoft Symbol Server复选框,然后您的应用程序将在运行时下载这些符号。我认为这会为你做到。 – Dinesh

+0

我无法找到Microsoft Symbol Server复选框。我在哪里可以找到它?视觉工作室下载了这些符号,但没有下载这个符号。 – janneob