VC断点失败的原因之中的一个

VC断点失败的原因之中的一个

flyfish 2014-10-23

情景

再debug状态下仅仅有一个cpp文件。命中不了断点。

提示 能够 同意源码与原始版本号不同

不採用,防止出现未知的隐患

问题分析

1 头文件(.h)和实现文件(.cpp),经过编译生成OBJ文件。OBJ文件通过连接(Link)生成EXE文件

简化: .h+.cpp -> obj -> exe

2 PDB文件存储了EXE文件的全部调试信息。每当生成OBJ 文件时。编译器都会将调试信息合并到PDB 中

简化: .h+.cpp -> obj -> pdb

运行 又一次生成解决方式

obj和pdb文件都是又一次生成

能够排除

1 编译器參数设置问题

2 pdb文件的增量更新

3 obj -> pdb

4 obj -> exe

问题定位 

.h+.cpp -> obj

也就是源代码编译为obj的时候出现了问题。

这个无法断点的cpp与编译使用的cpp不同步。相当于这个cpp更新了编译器不知道。

问题解决

通知编译器这个cpp文件更新了。

在这个.cpp文件相应的.h文件里加一句没实用的代码。

再次编译,断点命中,问题解决。之后再删除没用的代码。

时间: 2024-11-08 08:13:43

VC断点失败的原因之中的一个的相关文章

VC断点失败的原因之一

VC断点失败的原因之一 flyfish 2014-10-23 情景 再debug状态下只有一个cpp文件,命中不了断点. 提示 可以 允许源代码与原始版本不同 不采用,防止出现未知的隐患 问题分析 1 头文件(.h)和实现文件(.cpp),经过编译生成OBJ文件,OBJ文件通过连接(Link)生成EXE文件 简化: .h+.cpp -> obj -> exe 2 PDB文件存储了EXE文件的所有调试信息,每当生成OBJ 文件时,编译器都会将调试信息合并到PDB 中 简化: .h+.cpp -&

使用Unity3D是创业团队失败的原因吗?

第一个项目虽然失败了,但是最起码成功上线,并且获得了一定的收入(虽然杯水车薪),也因为第一个项目拉来了投资.但是第二个项目就彻彻底底的胎死腹中了. 没有检讨.没有总结,大家自然而然而又兴高采烈的开启了第三个项目. 我感到有些悲哀.如果我们都不知道自己的弱点在哪里,不明白自己的优势在哪里,如何能够扬长避短?一个创业团队难道靠硬推能推出一款游戏吗? 第二个项目是打算山寨<公主篷特2>,是一款<愤怒小鸟>玩法的带rpg元素的手游.<公主>就是拿Unity做的,并且有一定的3D

CentOs 6.6里kdump启动失败的原因

在VMware中新安装了CentOs 6.6,重启系统发现kdump服务启动失败 先来说一下,什么是kdump kdump 是一种先进的基于 kexec 的内核崩溃转储机制.当系统崩溃时,kdump 使用 kexec 启动 到第二个内核.第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像.第一个内核保 留了内存的一部分给第二内核启动用.由于 kdump 利用 kexec 启动捕获内核,绕过了 BIOS,所 以第一个内核的内存得以保留.这是内核崩溃转储的本质. 启动失败的原因 查看 /etc

adb 启动失败的原因和修改adb端口号

在我们使用Android Studio的时候,有时候就会出现adb打开失败或者启动不了的情况. adb 启动失败的原因:有其他程序占用了adb默认启动的端口号(像我就遇到过,每次只要提前启动了酷狗音乐,adb就会启动失败~这是要我们专心写代码,不要边听歌边撸0.0) 打不开的情况下的解决方案就是打开Android Studio的Terminal终端 使用以下命令: //关闭adb服务 adb kill-server //再重启adb服务 adb start-server 结果:(终端输出以下代码

数据库连接失败的原因及解决方法

各种业务系统在使用过程中都会遇到一些问题,因数据库连接失败,不能登录管理软件就是其中之一,这个很令人头疼而且常见的问题 一般的业务系统均采用的是SQL数据库,我们这里总结了SQL数据库连接失败的原因和解决方法: 原因一:登录账号.密码.服务器名称.数据库名称登录错误导致不能连接,这个比较常见,仔细检查好所填信息是否正确,填写正确一般就可以解决. 解决方法:当正在使用的软件出现数据库不能连接时,一般就是服务器名出现问题,更改服务器名称一般可以解决问题.数据库如果是安装在本机,服务器名可以用".&q

linux下使用crontab实现定时PHP计划任务失败的原因分析

这篇文章主要介绍了linux下使用crontab实现定时PHP计划任务失败的原因分析,需要的朋友可以参考下 很多人在linux下使用crontab实现PHP执行定时任务却未能成功,不能生成缓存.本文就linux下使用crontab实现定时PHP计划任务失败的原因做一分析. 一般我们linux定时执行php代码例如: 1 */5 * * * * /usr/local/php/bin/php /home/wwwroot/1.php 其实这样是可以执行php代码的. 但是为什么很多朋友在1.php写的

基础总结篇之中的一个:Activity生命周期

子曰:溫故而知新,能够為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就全然掌握,那基本不大可能,所以我们须要常常回过头再细致研读几遍,以领悟到作者的思想精髓. 近来回想了一下关于Activity的生命周期,參看了相关书籍和官方文档,也有了不小的收获,对于曾经的认知有了非常大程度上的改善,在这里和大家分享一下. 熟悉javaEE的朋友们都了解servlet技术,我们想要实现一个自己的servlet,须要继承对应的基类,重写它的方法,这些方法会在合适的时间被ser

检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005 【网站客户端无法读取服务器本机上的Excel】

问题描述:.NET无法读取excel 现象:执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.UnauthorizedAccessException: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005. 原因: web上传到服务器,然后读取excel时,服务器端会存在c#是否有

Microsoft.Office.Interop.Excel 放到B/S客户端失败问题 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问。

检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问. (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED)). 解决办法:(转) http://blog.csdn.net/wzhibin/article/details/1816690 用.net写了一个相关Excel的B/S的程序,部署到2003企业版的服务器上遇到这个错误:检索 COM