debugging 未命中代码隐藏中的断点

fiei3ece  于 2022-11-14  发布在  其他
关注(0)|答案(7)|浏览(202)

我猜是个常见问题,但到目前为止还没有解决方案:
我的断点(asp.net2.0)在“后端”程序集中得到了很好的命中,但在后面的代码中却没有。
我甚至可以看到〈% Response.CacheControl=“no-cache”; %〉行在我的www.example.com主文件中被命中asp.net,但仍然没有找到后面的代码。
我用的是VS 2005,windows 7 32位。你知道我还能查什么吗?

tquggr8v

tquggr8v1#

如果您的代码文件比运行的编译版本新(在Web服务器上,无论是IIS还是dev服务器),则不会命中断点(红色圆圈将是空心的)。
尝试执行清理/重建,看看是否有效。

编辑:

我刚刚注意到你最后一句话里的一些东西;您说要附加到asp.net进程。您要附加到哪个进程?应该是w3 wp. EXE。

ncecgwcz

ncecgwcz2#

我的问题是我为项目创建了一个新的配置,但是没有为它设置任何调试属性。所以我必须做的是:
1.右键单击Web项目并选择“属性”。
1.转到Build选项卡。
1.单击高级
1.在该对话框中,确保在Output部分中,Debug Info*未设置为none**。

7eumitmz

7eumitmz3#

我猜在加载页面的符号时出现了问题,因此断点没有命中,
试试这个
1 -在Visual Studio中进行调试时,单击“调试”〉“窗口”〉“模块”。IDE将停靠一个“模块”窗口,其中显示已为项目加载的所有模块。
2 -查找项目的DLL,并检查其符号状态。
3 -如果它显示“符号已加载”,那么您就成功了。如果它显示“找不到或无法打开PDB文件”,请右键单击您的模块,选择“加载符号”,然后浏览到PDB的路径。
4 -我发现有时候有必要
停止调试器
关闭IDE
关闭宿主应用程序
nuke obj和bin文件夹
重新启动IDE
重建项目
再次浏览模块窗口
浏览至PDB档的位置之后,[符号状态]应该会变更为[已载入符号],而且您现在应该可以在程式码行中设定和拦截中断点。
希望能有所帮助!
Answer source

qoefvg9y

qoefvg9y4#

在我的例子中,我在IIS中Map了正确的文件夹,但是应用程序是在IIS Express上设置的。
因此,当我转到URL时,加载了正确的程序集,但应用程序附加到了一个从未获得任何命中的IIS Express版本。

7fhtutme

7fhtutme5#

在我的例子中,我从Git更新了我的repo,项目从本地IIS更改为IIS Express(项目〉属性〉Web选项卡)。这不知何故打乱了我的配置,我无法调试。

nwsw7zdq

nwsw7zdq6#

我的问题通过将其设置为“启动项目”得到了修复

解决方案资源管理器-〉右键单击项目-〉设置为启动项目

菜单栏-〉项目或网站-〉设置为启动项目

qgelzfjb

qgelzfjb7#

只是为了帮助其他人谁遇到这个问题,我也有这个问题,我的断点都没有被击中。
原来这个项目最初是在Visual Studio 2015中创建的,我安装了2008、2010、2015、2017、2019,2017年不小心打开了,然后就出现了这个问题,2015年重新打开,又恢复正常。

相关问题