MFC程序代码运行出的结果与可执行文件运行的结果不同
我用MFC编写的程序,调试编译都通过了。用代码运行出的结果是正确的,但当用debug目录下生成的.exe可执行程序运行出的结果却和代码运行出的结果不同。这是为什么呢?可执...
我用MFC编写的程序,调试编译都通过了。用代码运行出的结果是正确的,但当用debug目录下生成的.exe可执行程序运行出的结果却和代码运行出的结果不同。这是为什么呢?可执行文件不也是这份代码生成的嘛,为什么还会出现这种情况。请教有遇到过的朋友们给予指点,谢谢!
展开
展开全部
告诉你个好办法,把你需要的信息都写入文件里面去。关键的值都详细的打印到文件里面去。然后一眼就能看出哪边有区别。
至于怎么写进文件,用MFC的文件读写函数就可以了。
至于怎么写进文件,用MFC的文件读写函数就可以了。
更多追问追答
追问
我就是把需要的信息都写入了一个数据库中的,现在是发现了两种情况下运行出结果的不同之处了,但就是找不到根本的原因。
追答
你不能看结果, 你要看过程。
举个例子,比如你的程序有 GetFromDB(),handleDate 和 SetDataToDB(),还有个函数是写数据到文件的PrintInfo()
1 GetFromDB()
{
//从DB获取到数据后,写进文件中,用来对比
PrintInfo("你的数据");
}
2 handleDate()
{
PrintInfo("处理前的数据");
.....
.....
PrintInfo("处理后的的数据");
}
3 SetDataToDB()
{
PrintInfo("准备放入DB的数据");
.....
.....
PrintInfo("放入DB后的的数据");
}
然后你就看文件那边出数据不对劲,再把日志在局部打详细点。就OK了
展开全部
再问你的具体情况呢,不知道你执行的是什么操作。有时候因为DEBUG调试的时候,进程的访问顺序,跟内存的变化都跟直接运行exe程序不同的呢
追问
我的程序的功能是处理数据库中的数据,两种情况下结果会不同。直接运行.exe程序产生的结果库中的信息会比运行代码产生的信息少了很多。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的代码运行不会是在Release下运行的吧,那样肯定代码运行的有可能会和debug目录下exe运行的不同,debug下有可能是你之前的版本
追问
确定是在debug下运行的代码。并且当在Release下运行代码产生的结果与.exe可执行文件产生的结果也是不同的。
追答
你把Project Setting里面的中C/C++下的优化改成禁止试试,还有这个问题吗?另外编译器里面直接运行代码,程序执行完毕后,有的编译器会等待你按任意键结束,如VS等,有的不会,项dev C++就是。但是在debug目录下的exe,是不会等你输任意键的,执行完就自己关了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询