我正在调试ASP.NET应用程序
此方法有两个断点:
private void Load()
{
Stopwatch t = Stopwatch.StartNew(); //breakpoint A
...
LoadStuff(blah); //breakpoint B
}
当我在VS中启动LocalIIS(GoogleChrome)
时,debugger
在断点B处停止。先前的Call Stack
调用Load()
。而且,我有一个从Load()
处被调用的断点,它也不止于此。为什么它跳过断点A?有没有办法不跳过它?
答案 0 :(得分:0)
此外,我有一个从其中调用Load()的断点,它 也不止于此。为什么跳过断点A?
由于某些原因,断点A似乎对您无效。一种可能是所引用的DLL与您正在调试的代码版本不同步,或者您更改了代码,并且与pdb符号调试文件不一致。
首先,请选择enable Just my code,以防VS忽略断点A。
解决方案
确保禁用优化(对于Debug配置,这是默认设置,但是在Release配置中启用了这些功能)。编译器优化可能会干扰调试器
此外,请尝试以下步骤从服务器生成最新的pdb文件以匹配您的项目。
1。清洗溶液
2。工具->选项->调试->符号 首先清空旧的pdb符号文件,并记住从Microsoft Symbol Servers和NuGet.org.Symbol Server中选择“加载所有模块,除非排除”。
3。从服务器中加载所有用于调试项目的符号
4。重建您的项目,该项目将生成与您的项目匹配的DLL。
您可以参考this以获得更多信息。希望它能对您有所帮助。