vs未加载任何符号
来源:互联网 发布:数据分析表格怎么做 编辑:程序博客网 时间:2024/05/16 05:44
今天调试一C++程序,按下F5,老是弹出一对话框显示信息:debugging information for 'myproject.exe' cannot be found or does not match. No symbols loaded. 翻译成中文大概就是:不能找到'myproject.exe' 的调试信息或者调试信息不匹配。符号文件未加载。
起初,我以为是没有生成.pdb文件的缘故,于是,我右击项目文件,点击属性,展开配置属性节点,展开C/C++节点, 点击了General后把Debug Information Format设置为:Program Database for Edit & Continue(/ZI). 跟着,又检查了其它选项,并且确信在项目文件的Debug文件夹下生成了相应的.pdb文件。
可是做了这些,还是没用。仍然弹出那个该死的对话框。
我于是另外新启动了一个VS实例,新建了一个简单的工程,按下F5, 调试没问题,嘿,这问题到底出在哪儿呢??
然后,我心想,你丫狠!看来我得来点比你更狠的,于是乎,我干脆运行咱的.exe文件,然后单击Visual Studio 的Tools菜单,选择Attach to process..., 并找到我的应用程序,还是没用!!!!我要发疯了!!!!
关键时刻咱得保持冷静!!!!分析下!
第一,我这个工程是前几天做过的。
第二,.pdb文件有,手动加载文件也试过。不过没用。
第三,新建一个项目调试,没问题。
脑袋里突然冒出:是不是.suo文件在作怪??
------解决方案-----
1. 关闭掉Visual Studio 实例。
2. 找到解决方案下的.suo文件并删除之。
3. 重新启动Visual Studio,或者直接双击.sln文件打开
4. 成功调试程序!
后来意识到这是Visual Studio非常严重的问题。因为.suo貌似非常容易损坏,但是它里面包含了许多调试信息,包括项目的打开文件列表、所有的断点、以及监视窗口中所有的内容。
可以运行如下命令来删除掉该文件:del /f /a:h /s *.suo
希望对遇到该类问题的朋友有所帮助!!欢迎提出问题讨论!
当前不会命中断点 还没有为该文档加载任何符号
2011-08-15 16:41 1878人阅读 评论(1) 收藏 举报
相信很多人在网页编程时都遇到过这个问题,就是设置断点时给出提示,之后不能选中。我今天也碰到这个问题了,足足折磨了我一天。设置是debug没错,我也没有找到“C/C++->常规->调试信息格式”这个东东,估计是C++里的设置,我用的是C#。”将”要求源文件与原始版本完全匹配”的勾取消“我也试了还是不行,webconfig里的debug设置也是true。折腾了一天才发现,我要调试的文本所处的文件夹里还有一个webconfig,这里的debug是false。我上网找了一下,才知道原来最外边的webconfig是总的。文件夹内部也可以设webconfig,这个webconfig继承了总webconfig的信息的基础上还拥有子文件夹自己的属性。所以导致我的总webconfig虽然debug是true。但因为文件夹内的程序要参照内部webconfig。所以还是不能正常设置断点进行调试。真是粗心惹的祸。
万恶的调试不到断点。把vs的各种选项翻来复去的勾来勾去。想尽了办法,已用过的办法有:
一、删除引用项目的debug
二、配置管理器中把所有项目的“生成”打勾、“配置”全部选成“debug“,切忌release
三、配置管理器中“活动解决方案配置”、新建一个方案
四、将引用目录统一设到某个目录,防止没有引用到最新的(源码与dll版本不匹配)
五、工具、选项、调试、常规中的“要求源文件和原始版本完全匹配”的勾去掉
五种办法都用过了。还是没有用。
最后偶然想到,出现这个问题的原因基本上有两个:
一、要调试的dll不在调试进程的进程空间,调不到
二、源代码使用的dll与调试的源代码的版本不对,自然调试不到
第一条out了。肯定是第二条。终于想起来了。我引用了三四个项目文件,有的项目文件没有引用“工程”上的现有项目,而是直接引用了一个一直在用的dll。把那个引用删除,然后改成引用到现有项目。
http://johnsmithblog.blogbus.com/logs/15017286.html
VS2005中设置的断点无效:“当前不会命中断点,还没有为该文档加载任何符号”。折腾了一阵,其实问题主要出在没有生成调试信息。解决方法如下:
(1)项目-〉属性-〉配置属性-〉C/C++-〉常规-〉调试信息格式,这里不能为“禁用”。
(2)项目-〉属性-〉配置属性-〉链接器-〉调试-〉生成调试信息,这里设为“是”。
(3)2005默认的MFC程序是使用动态MFC库(Use MFC in a Shared DLL)来链接的
而动态MFC库使用的是Multi-threaded DLL (/MD)
由于XP对于PE文件格式监测更加严格.
就会导致部分使用多线程DLL的可执行文件在调用的时候出错
修改项目属性的编译开关
Project->Property->configuration Properties->C/C++->Code Generation->Runtime Library
修改成Multi-threaded (/MT)
起初,我以为是没有生成.pdb文件的缘故,于是,我右击项目文件,点击属性,展开配置属性节点,展开C/C++节点, 点击了General后把Debug Information Format设置为:Program Database for Edit & Continue(/ZI). 跟着,又检查了其它选项,并且确信在项目文件的Debug文件夹下生成了相应的.pdb文件。
可是做了这些,还是没用。仍然弹出那个该死的对话框。
我于是另外新启动了一个VS实例,新建了一个简单的工程,按下F5, 调试没问题,嘿,这问题到底出在哪儿呢??
然后,我心想,你丫狠!看来我得来点比你更狠的,于是乎,我干脆运行咱的.exe文件,然后单击Visual Studio 的Tools菜单,选择Attach to process..., 并找到我的应用程序,还是没用!!!!我要发疯了!!!!
关键时刻咱得保持冷静!!!!分析下!
第一,我这个工程是前几天做过的。
第二,.pdb文件有,手动加载文件也试过。不过没用。
第三,新建一个项目调试,没问题。
脑袋里突然冒出:是不是.suo文件在作怪??
------解决方案-----
1. 关闭掉Visual Studio 实例。
2. 找到解决方案下的.suo文件并删除之。
3. 重新启动Visual Studio,或者直接双击.sln文件打开
4. 成功调试程序!
后来意识到这是Visual Studio非常严重的问题。因为.suo貌似非常容易损坏,但是它里面包含了许多调试信息,包括项目的打开文件列表、所有的断点、以及监视窗口中所有的内容。
可以运行如下命令来删除掉该文件:del /f /a:h /s *.suo
希望对遇到该类问题的朋友有所帮助!!欢迎提出问题讨论!
当前不会命中断点 还没有为该文档加载任何符号
2011-08-15 16:41 1878人阅读 评论(1) 收藏 举报
相信很多人在网页编程时都遇到过这个问题,就是设置断点时给出提示,之后不能选中。我今天也碰到这个问题了,足足折磨了我一天。设置是debug没错,我也没有找到“C/C++->常规->调试信息格式”这个东东,估计是C++里的设置,我用的是C#。”将”要求源文件与原始版本完全匹配”的勾取消“我也试了还是不行,webconfig里的debug设置也是true。折腾了一天才发现,我要调试的文本所处的文件夹里还有一个webconfig,这里的debug是false。我上网找了一下,才知道原来最外边的webconfig是总的。文件夹内部也可以设webconfig,这个webconfig继承了总webconfig的信息的基础上还拥有子文件夹自己的属性。所以导致我的总webconfig虽然debug是true。但因为文件夹内的程序要参照内部webconfig。所以还是不能正常设置断点进行调试。真是粗心惹的祸。
万恶的调试不到断点。把vs的各种选项翻来复去的勾来勾去。想尽了办法,已用过的办法有:
一、删除引用项目的debug
二、配置管理器中把所有项目的“生成”打勾、“配置”全部选成“debug“,切忌release
三、配置管理器中“活动解决方案配置”、新建一个方案
四、将引用目录统一设到某个目录,防止没有引用到最新的(源码与dll版本不匹配)
五、工具、选项、调试、常规中的“要求源文件和原始版本完全匹配”的勾去掉
五种办法都用过了。还是没有用。
最后偶然想到,出现这个问题的原因基本上有两个:
一、要调试的dll不在调试进程的进程空间,调不到
二、源代码使用的dll与调试的源代码的版本不对,自然调试不到
第一条out了。肯定是第二条。终于想起来了。我引用了三四个项目文件,有的项目文件没有引用“工程”上的现有项目,而是直接引用了一个一直在用的dll。把那个引用删除,然后改成引用到现有项目。
http://johnsmithblog.blogbus.com/logs/15017286.html
VS2005中设置的断点无效:“当前不会命中断点,还没有为该文档加载任何符号”。折腾了一阵,其实问题主要出在没有生成调试信息。解决方法如下:
(1)项目-〉属性-〉配置属性-〉C/C++-〉常规-〉调试信息格式,这里不能为“禁用”。
(2)项目-〉属性-〉配置属性-〉链接器-〉调试-〉生成调试信息,这里设为“是”。
(3)2005默认的MFC程序是使用动态MFC库(Use MFC in a Shared DLL)来链接的
而动态MFC库使用的是Multi-threaded DLL (/MD)
由于XP对于PE文件格式监测更加严格.
就会导致部分使用多线程DLL的可执行文件在调用的时候出错
修改项目属性的编译开关
Project->Property->configuration Properties->C/C++->Code Generation->Runtime Library
修改成Multi-threaded (/MT)
希望这篇文章能帮到和我遇到同样问题的人:)
转发来自: http://blog.csdn.net/huapeng_guo/article/details/7683820
0 0
- vs未加载任何符号
- 并不包含调试信息(未加载任何符号)
- 并不包含调试信息(未加载任何符号)
- VS 调试时“还没有为该文档加载任何符号”
- vs 2005调试“没有为任何调用堆栈框架加载任何符号
- vs2005 c++ 出现 C:\Windows\System32\ntdll.dll”,未加载任何符号 ...........解决办法:
- 当前不会命中断点还未为文档加载任何符号——问题探究
- 当前不会命中断点还未为文档加载任何符号 解决方法
- 当前不会命中断点还未为文档加载任何符号——问题探究
- vs调试dll 当前不会命中断点 还没有为该文档加载任何符号
- VS当前不会命中断点 还没有为该文档加载任何符号
- vs 加载符号 问题
- VS调试提示:无法找到“*.exe”的信息,或调试信息不匹配。未加载符号
- EasyDarwin开源流媒体云平台VS调试断点提示“还没有为该文档加载任何符号”的解决办法
- EasyDarwin开源流媒体云平台VS调试断点提示“还没有为该文档加载任何符号”的解决办法
- 最近遇到VS.Net的两个问题--无法调试,未加载符号和后台代码无法调用控件
- VC2005提示未加载符号解决方法
- MATLAB和VS混合编程,调试C程序设置的断点显示“当前不会命中断点 还没有为该文档加载任何符号”
- 在Visual Studio 2010中使用Visual Leak Detector
- C/C++程序设计06(面向对象)
- nyoj260 数数小木块
- Android (shape,gradient)详解
- hdu, KMP algorithm, linear string search algorithm, a nice reference provided
- vs未加载任何符号
- qtp 参数类 VBS 利用Default 关键字来 实现构造函数的功能
- VC 获取控制台窗口的句柄(hWnd)
- Activity的生命周期函数
- Android--Parcelable接口用法
- TextView 数字、中文 内容的中线下划线锯齿效果实现
- 平面向量
- C++项目实训:银行储蓄系统
- SDL1.2编译