缺少 pdb 文件。

4

我正在调试我的应用程序,使用的是wince7设备。

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

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

只有在线程运行后,我才会遇到这个错误。

有人知道我在哪里可以找到所需的pdb文件吗?(我已经尝试修复了.net compact framework)

我如何找出线程从哪里开始?(我在代码中找不到它)

接下来我该怎么做?

请帮忙解决问题。


您需要在选项对话框中启用.NET Framework源代码调试。 - Cody Gray
1个回答

8

在 Visual Studio 中:

工具 -> 选项 -> 调试 -> 符号 -> 勾选 Microsoft 符号服务器以获取符号。

同时,在调试的常规选项卡中,取消勾选 "启用只调试我的代码",这将允许调试其他程序集。

还要启用 .NET Framework 源代码的步进复选框。

但我建议从符号服务器下载所有符号并将其保存到本地。

然后将本地目录路径添加为 Visual Studio 中符号路径的一部分。

下载符号的方法如下:

在调试的符号选项卡中,勾选 Microsoft 符号服务器并按 OK。Visual Studio 将自动将符号下载到缓存目录。

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

下载完成后,您可以添加另一个路径并指向此目录,并取消选中Microsoft Symbol Server或将本地路径移动到Symbol Server路径之上。

现在,您应该能够加载符号并获取方法名称。

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

希望这有所帮助。


谢谢。我已经找到了 System.Drawing.dll 的符号。现在它要求 mscorlib 的符号。你知道我可以在哪里找到吗? - janneob
如果您已经按照步骤操作,可以在Visual Studio的调试选项卡下查看本地缓存目录。打开“工具”->“选项”,检查是否有一个名为mscorlib的文件夹。如果没有,则勾选Microsoft符号服务器复选框,应用程序将在运行时下载符号。我认为这样就可以了。 - Dinesh
我找不到Microsoft符号服务器复选框。它在哪里可以找到?Visual Studio已经下载了符号,但没有下载这个。 - janneob
我发现了这篇文章http://goo.gl/4szP7,它展示了如何设置符号服务器支持。请仔细阅读并按照所描述的步骤进行。希望能有所帮助... :) - Dinesh
很抱歉!我不熟悉紧凑框架,但是这似乎是紧凑框架的问题,请查看此线程http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/87461521-60d7-4785-8b01-1901d44caba1 - Dinesh
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接