.net - 缺少 pdb 文件

标签 .net multithreading debugging windows-ce pdb

我正在 wince7 设备上调试我的应用程序。

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

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

只有在线程运行后我才会收到错误消息。

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

我怎样才能找出线程从哪里开始? (我在代码中找不到它)

接下来我该怎么办?

请帮忙

最佳答案

Visual Studio 内部

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

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

还要启用 .NET Framework 源单步执行复选框。

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

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

下载符号 ->

在调试中的符号选项卡中,检查 Microsoft 符号服务器并按确定。 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

希望这可以帮助。

关于.net - 缺少 pdb 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10534266/

相关文章:

c# - 如何在 Winforms ListView 中获取资源管理器右键单击菜单?

.net - 为什么 System.Windows.Forms.Control MousePosition 属性可以读取,但 Location 不能读取?

python - 在中等大小的 JSON 文件上使用线程池进行同步读取比异步读取更快

python - 如何在 IDE 中调试 Cython

visual-studio-2010 - "Stop Debugging"后VS2010一直运行(Web API)

debugging - 使用 Debugger.Break() 将调试器附加到 Vista 或 Windows 7 上正在运行的进程

c# - 从 WCF 发送的响应中删除 utf-8 标识符 (BOM)

.net - 如何以编程方式添加程序集引用

multithreading - CompletableFuture 重用池中的线程

android - 工作线程与主线程通信