C++调试遇到了千年一遇的怪事!!

herrypz 2009-06-24 11:00:13
我把代码修改了,然后调试跟进去,代码好像和没有修改一样,行号码一点都没变,我开始以为是说编译器的问题,我把工程的静态库重建了一遍,还是一样,太奇怪了,哪位高手指点一下!郁闷两天了!!!!
...全文
39 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjgbbchen 2010-04-21
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 herrypz 的回复:]
谢谢各位了,终于搞定了,需要重新编译exe即可。因为dll和exe是两个不同的解决方案,以前我没想到还要重新编译exe。给分了!!
[/Quote]
怎么编译啊?
sunlin7 2009-06-24
  • 打赏
  • 举报
回复
你跟进后看看文件的全路径。
有时候你可能在a目录和b目录下有同名的c源文件,而工程引用的是b目录下的源文件,你改a目录下的源文件,这样你就看到这种“神奇”的问题。
ArcRain 2009-06-24
  • 打赏
  • 举报
回复
修改了静态库,使用静态库的相关DLL与EXE应该也需要重编译.
herrypz 2009-06-24
  • 打赏
  • 举报
回复
还有一点奇怪的是,我如果修了改动态库中的代码,调试的时候是正常的。修改了静态库的代码没有用。这说明exe确实调用的这个动态库dll。就是不明白修改静态库怎么没有反应呢?太苦恼了!!!
herrypz 2009-06-24
  • 打赏
  • 举报
回复
你的意思是我需要重新生成一下exe吗?exe调用这个动态库,然后动态库用用了这个静态库lib。
[Quote=引用 16 楼 baggiochen1995 的回复:]

你调试的还一以前debug下边的exe文件! 你要去setting当中修改你的调试对应的EXE文件。
[/Quote]
herrypz 2009-06-24
  • 打赏
  • 举报
回复
看了一下,调用的确实是新版本的dll.
[Quote=引用 15 楼 marrco2005 的回复:]
你调试的时候,可能调用的还是旧版本的 dll
[/Quote]
baggiochen1995 2009-06-24
  • 打赏
  • 举报
回复

你调试的还一以前debug下边的exe文件! 你要去setting当中修改你的调试对应的EXE文件。
marrco2005 2009-06-24
  • 打赏
  • 举报
回复
你调试的时候,可能调用的还是旧版本的 dll
fandh 2009-06-24
  • 打赏
  • 举报
回复
看看调试用的和新编译连接不是一个。自己改一下!
herrypz 2009-06-24
  • 打赏
  • 举报
回复
有两个工程,一个生成DLL,出问题的这个工程要生成一个静态lib.DLL依赖于静态lib.
marrco2005 2009-06-24
  • 打赏
  • 举报
回复
在调试dll吗?把编译好的dll 拷贝到相应的目录下替换掉旧版本的 dll
herrypz 2009-06-24
  • 打赏
  • 举报
回复
并且我已经把一个CPP1中的函数A删除了,然后在另一个CPP2中的函数B设置断点(原先函数A是要调用函数B的),竟然还可以进到这个断点里面,堆栈里面显示的还是函数A调用的,光标指向CPP1文件的最后一行!太神奇了!!好像遇见鬼了!!


fjsabc 2009-06-24
  • 打赏
  • 举报
回复
删完把编译器关了,再打开生成一次
fjsabc 2009-06-24
  • 打赏
  • 举报
回复
生成的是DLL的还是EXE的?

VC编译器有会这样的,大都重生成一次,或把手动把生成目录下的所有文件删掉,再生成一次就行了.
zhangyan_wt 2009-06-24
  • 打赏
  • 举报
回复
看看调试用的exe的路径和编译连接的路径是不是一个。
herrypz 2009-06-24
  • 打赏
  • 举报
回复
以前我遇到这种问题一般也是重新生成就可以了,但这次怎么都不行,我已经把代码删到最后一个函数了,调试信息还是错误的,我又确信确实用的是这个库,不是别的!
岁月小龙 2009-06-24
  • 打赏
  • 举报
回复
看你的生成的exe文件的路径,一定要是默认路径,不要随便修改
herrypz 2009-06-24
  • 打赏
  • 举报
回复
呵呵,这些全都用过了,我已经把生成的obj文件全部删掉了,还是一样!!!!
Randyqiu 2009-06-24
  • 打赏
  • 举报
回复
生成——清理解决方案
然后重新编译
liangxd09 2009-06-24
  • 打赏
  • 举报
回复
clean,然后把目录删除掉,重新编译
加载更多回复(8)

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧