我已经从另一个项目(包含在bin
文件夹中)添加了对DLL的引用,并且我已将将本地复制设置为true
。当我单步执行代码时;调试器跳到了整个地方。我相信这是因为代码已经过优化。我有两个问题:
答案 0 :(得分:1)
我的猜测是跳跃是由于PDB(符号)与编译的DLL不同步,因此符号告诉VS去一个实际上与代码实际上没有匹配的行号;由于内在函数,优化也可能也起作用。
影响调试体验的其他因素包括:
DebuggerNonUserCode
属性答案 1 :(得分:0)
调试优化代码可能会“跳转”,因为某些函数会内联。最有说服力的是,局部变量通常会被优化掉,在尝试读取它们时给出一个消息。
如果跳跃似乎没那么明显,那么你更有可能是错误的PDB(映射到行号)或源(具有行号)。