调试时,我正在尝试单步执行/中断以下代码行:
namespace ViewModels
{
public abstract class CustomFormViewModel : INotifyPropertyChanged, IDisposable
{
private DBContextModels.Models.DbBuildingContext _dbContext;
public CustomFormViewModel()
{
...
// no symbols loaded, cannot step into
_dbContext = new DBContextModels.Models.DbBuildingContext();
}
}
}
DbBuildingContext
在程序集中定义
dbcontextmodels.dll文件
,我没有其源文件或符号文件,因此我正在尝试使用生成的符号进入它的反编译源。
单步执行上述语句没有任何效果,它只是在
数据库生成上下文
构造函数给出
“未加载符号”
通知。
使用Resharper,我为
dbcontextmodels.dll文件
:
把它放在这里
"xxx\DbContextModels.pdb\E3D17590C9F44E73BC95AC40AB59EC891\DbContextModels.pdb"
“显示PDB内容”
显示
<?xml version="1.0" encoding="utf-8"?>
<Pdb Name="DbContextModels"
Path="xxx\DbContextModels.pdb\E3D17590C9F44E73BC95AC40AB59EC891\DbContextModels.pdb"
AssemblyPath="xxx\DbContextModels.dll"
SignatureFromAssembly="e3d17590-c9f4-4e73-bc95-ac40ab59ec89 "
PdbFileFromAssembly="xxx\notme\xxx\DbContextModels\obj\Debug\DbContextModels.pdb ">
<UserEntryPoint>null</UserEntryPoint>
...
除了
UserEntryPoint
是
无效的
和
PdbFileFromAssembly
指向生成程序集的用户的本地路径。应该
用户入口点
具有有效值,并且应该
PDB来自组件的文件
比赛
Path
?
注:
E3D17590C9F44E73BC95AC40AB59EC891
和
e3d17590-c9f4-4e73-bc95-ac40ab59ec89
几乎相同。
我配置了调试器选项以加载此程序集的符号:
我还确保清除了Resharper缓存,并且程序集资源管理器中显示的程序集(生成符号文件的来源)指向与调试选项中的“已加载模块”路径相同的位置。