解决:开启了debug但是Error: debugging information for 'myproject.exe' cannot be found or does not match. No symbols loaded.

本文介绍了解决Visual Studio调试过程中出现的符号文件未加载问题的方法。通过删除.suo文件并重启VS,成功解决了'myproject.exe'调试信息找不到或不匹配的问题。
部署运行你感兴趣的模型镜像

原文地址:http://www.cnblogs.com/roahnluo/archive/2009/03/15/1412503.html

感谢~有用~二楼的回复没试过~很想知道那个选项啥意思~

Error: debugging information for 'myproject.exe' cannot be found or does not match. No symbols loaded.

今天调试一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

希望对遇到该类问题的朋友有所帮助!!欢迎提出问题讨论!

 

posted @ 2009-03-15 16:52 Roahn Luo 阅读(2107) 评论(2) 编辑 收藏

 

  回复  引用  查看    
#1楼 2009-03-15 22:57 | JesseZhao       
我最近使用c++写程序,有时候你调试的时候跟不进去
可能是你在编译的时候选择了优化,
这样生成的调试信息在调试的时候就不匹配了

  回复  引用    
#2楼 2009-06-13 02:21 | sdf[未注册用户]
right click on your preject, select properties, chose debuggin tab on the left column, and change the debug type to "manage only"

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.9

TensorFlow-v2.9

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

### 解决DMP文件符号加载失败问题 在调试过程中,如果遇到 `.dmp` 文件的符号无法加载的问题,通常是因为符号文件(`.pdb`)未正确配置或缺失。以下是可能导致此问题的原因及解决方案: #### 1. 符号路径配置不正确 确保符号路径已正确配置到调试工具中。Visual Studio 或 WinDbg 等工具需要明确指定符号文件的位置。可以通过以下方式设置符号路径[^1]: - 在 Visual Studio 中,转到 **Tools > Options > Debugging > Symbols**。 - 添加符号文件所在的目录或使用 Microsoft 的公共符号服务器:`https://msdl.microsoft.com/download/symbols`。 #### 2. 缺少正确的符号文件 如果目标应用程序的符号文件不存在,则会导致加载失败。开发人员需要确保生成的 `.pdb` 文件与对应的二进制文件一起保存。此外,可以尝试从 Microsoft 公共符号服务器下载通用符号文件[^2]。 #### 3. 版本不匹配 符号文件和二进制文件之间的版本不匹配也会导致加载失败。例如,如果 `.exe` 文件被重新编译但符号文件未更新,则会出现此问题。检查 `.dmp` 文件中的模块版本,并确保符号文件与此版本一致[^3]。 #### 4. 权限问题 某些情况下,符号文件可能由于权限限制而无法访问。确保调试工具具有足够的权限访问符号路径中的文件[^4]。 #### 5. 使用适当的调试工具 选择适合的调试工具也很重要。对于 `.dmp` 文件,推荐使用 WinDbg 或 Visual Studio。WinDbg 提供了更强大的符号解析功能,特别是在处理系统级崩溃时[^5]。 ```python # 示例代码:通过 Python 调用 WinDbg 分析 DMP 文件 import subprocess def analyze_dmp(dmp_file, symbols_path): command = f"windbg -y {symbols_path} -z {dmp_file}" result = subprocess.run(command, shell=True, capture_output=True) return result.stdout.decode() # 调用函数 output = analyze_dmp("example.dmp", "srv*c:\\symbols*https://msdl.microsoft.com/download/symbols") print(output) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值