繁体   English   中英

无法调试 Systems.Windows.Forms.Control(未找到 PDB 文件)

[英]Cannot debug Systems.Windows.Forms.Control (PDB file not found)

我尝试调试一个问题,其中 Panel 的 Size 属性被未知来源覆盖。 我在项目中没有找到任何直接访问此属性的自写代码,因此必须有一些底层代码,即调用并更改它。

为了找出覆盖的来源,我尝试在System.Windows.Forms.Control.cs: Control classSize propertysetter method中设置断点。 但是在启动应用程序时,Visual Studio 会禁用断点并显示警告,即不会到达此断点,因为没有加载任何符号。 我在调试器的模块窗口中确认System.Windows.Forms模块已加载,但未加载其符号。 出现错误,无法找到或打开 PDB 文件,因此我右键单击该条目并手动提供 PDB 文件。 之后在模块窗口中,说明已加载符号,但在Controls.cs文件中,由于未加载符号,断点仍被禁用。

在我确定的选项的调试器部分中:

  • 只有我的代码被关闭
  • 调试 .NET Framework 源代码已启用
  • 源服务器协助已启用
  • 源代码文件必须完全匹配被禁用

我还尝试了符号部分中的Load all Symbols按钮,但仍然无法调试System.Windows.Forms.Controls.cs文件。

由于应用程序在NET Framework 4.7.2上运行,数据断点不可用,并且由于Size classsealed的,因此我无法创建自己的副本来覆盖set方法以进入其中。

有谁知道如何为 VS2022 提供相应的 PDB 文件或任何其他检查属性覆盖来自何处的方法?

我们可以从这个链接中看到“要调试在调用系统 DLL 或第三方库期间发生的崩溃,您通常需要系统 .pdb 文件。” 您可以参考以下步骤来使用 Microsoft 符号服务器:

  1. 打开工具 > 选项 > 调试 > 符号在此处输入图像描述
  2. 检查“Microsoft 符号服务器”。

上面的链接可以为您提供有关该问题的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM