如何区分Release版本和Debug版本 如果只提供一个用vc编写的.exe程序,其他的源代码都没有,可以用工具来判断该可执行程序是Debug版本的,还是Release版本的吗?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看 它运行时调用的DLL文件, 如果是用MFC的,DEBUG版会调用MFC42D.DLL以及MSVCRTD.DLL.如果你看不到,你可以把这几个文件删除或改名,看程序运行是否会出错. 那Release版本的调用的是什么动态连接库? 如果我用Release版本来编译程序,ASSERT宏还会生效吗? 应该不会生效的。ASSERT只是Debug版本才有用的 很简单,VC带了一个小工具depends可以看出exe程序是否带有debug信息。"C:\Program Files\Microsoft Visual Studio\Common\Tools\DEPENDS.EXE"打开一个exe文件后,会列出这个exe自身和引用的所有dll代码的属性,其中一列是"debug",如果这个exe或者dll带有debug信息,这列等于Yes,否则NO。缺省状态下,Release版ASSERT被定义为一个空的宏,不产生任何代码。 很奇怪,我编了一个比较大的项目,分别有两个版本Debug版本和Release版本,我用你说的Dependency工具查看了一下,两个版本的Debug列显示的都是yes,很奇怪!而我在做了一个最简单的测试程序(vc缺省的程序),也分别编成了Debug和release版本,这下在release版本下debug列显示的是No,不知道这是什么原因,是Dependency有问题嘛?谢谢! 可能你的工程设置比较特别,让release版也带有调试信息。有些设置能够让release版程序带有调试信息,可以允许ASSERT,好像还可以跟踪。msdn好像有文章介绍这种方法。我有一个10万行代码的项目,release版就没有调试信息。 检查你的编译设置,DEBUG和RELEASE是由编译参数来决定的 ACTIVEX,CAB包 刚没注意发现类线程函数可以通过传递this指针访问类私有成员函数? List Control显示问题 如何动态加载工具条图片? 硬盘问题 为什么我写的DLL不支持ASP的调用?? 基础问题,VC中如何返回某个变量的类型,就像C中的 typeof(&oldvar) newvar,在VC中如何写?? CCriticalSection 求解,急 BCGP 工具栏停靠的问题 如果我有一个CWnd* 我如何获取其对应的HWnd??? 各位大虾,快到这里来,有一个很难的问题 怎样给窗口加背景图?
以及MSVCRTD.DLL.如果你看不到,你可以把这几个文件删除或改名,看程序运行是否会出错.
谢谢!