欢迎来到Introzo百科
Introzo百科
当前位置:网站首页 > 技术 > vs2010当前断电不会命中没加载符号_...当前不会命中断点.还没有为该文档加载任何符号“的解决方法

vs2010当前断电不会命中没加载符号_...当前不会命中断点.还没有为该文档加载任何符号“的解决方法

日期:2023-09-21 10:54

一般网上的解决办法是: A. 工具、选项、调试、常规中的“要求源文件和原始版本完全匹配”的勾去掉。 B. 工具、选项、调试、常规中的“启用仅我的代码”的勾去掉。 这种是治标不治本,有的时候也不起作用

当前不会命中断点,还未为文档加载符号,这句话的意思是,因为没有为文档加载符号,才导致断点不能命中。 换成人话就是,你的动态库编译好了,dll和lib也能找到,但是dll的调试文件找不到了。

根本原因其实是: 路径配置的问题

解决办法: 把exe的输出目录和dll的输出目录设置成一个目录。这样就把各种乱七八糟的文件都放到一个目录下,就不会找不到dll的调试文件。接着再重新设置动态库的目录即可。(右击项目-> 属性->链接器->附加库目录)

设置输出目录的做法: 右击项目-> 属性->常规->输出目录

vs2010做项目的时候发现断点只能在web层命中,而其它层如BLL DAL Model等都无法命中。

这里有两种上模式:Debug 和 Release???????? Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。

之所有无法进入其它Dll就是因为你当前版本可能是Release,把它改为Debug重新编译即可。断点之后随便进入。

转载于:https://www.introzo.com/weihua-show/p/4128072.html

在使用vs的过程中,有些工程可以编译通过正常运行,但是在下断点调试时会显示"当前不会命中断点.还没有为该文档家在任何符号". 如下图1

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图1

这并不是vs的bug,而是在设置选项中没有在对应的位置设置调试信息.

可以按照下列方法打开断点:

1.右键项目->属性->配置属性->C/C++->常规->调试信息格式,这里设置为?

?

2.项目->属性->配置属性->连接器->调试->生成调试信息?

?

3.C/C++->优化->选择禁用(图4)

4.删除解决方案下的.ncb文件 NCB是“No Compile Browser”的缩写,无编译浏览文件(no compile browser), NCB为VC++自动创建的跟踪文件,,其中存放了供ClassView,WizardBar和Component Gallery使用的信息,由VC开发环境自动生成.无编译浏览文件.当自动完成功能出问题时可以删除此文件.build编译工程后会自动生成.

5.工具->选项->调试->"要求与原始版本完成匹配"去掉勾选(图5)

6.最后在上述设置的情况下,清理并重新编译解决方案

关灯