例如,画面的文本框,在画面启动后赋的初值初始化为空,正常运行后,这些初值都不显示的,现在release后的exe双击后,
这些初值还存在。然后按正常的操作,总处错误,无法继续。
debug生成的exe文件,可以正常运行。
并且同一个程序有时候会出现这样情况,有时候很正常,release后的exe能正常运行。
青高手指点!
15 个解决方案
#1
编译之前,删除所有已经生成过的dll pbd文件,重新编译。
#2
built之前,先进行clean,然后built,
生成的exe还是不能正常运行
生成的exe还是不能正常运行
#3
各位没有遇到过这种情况吗,会是什么原因呢
#4
试过编写其它程序吗?如果都是这种问题,考虑你的VS是否出现问题。机器是否有木马。
如果其它正常那就检查代码吧!
如果其它正常那就检查代码吧!
#5
debug文件夹下的exe和release下的exe有什么区别吗?
#6
其他程序都正常
就这个程序,上周也正常
今天突然就变成这样了
另外一个现象是,出问题的程序B是在A中调用使用的。
比如在A里选择1,运行B画面。
我把A和B各自built后,release文件夹下生成的a.exe,b.exe,复制到一个新的文件夹里,
单独双击b.exe,出现上述问题
先运行a.exe,选择1,启动的b正常
很不理解怎么突然成这样子了
就这个程序,上周也正常
今天突然就变成这样了
另外一个现象是,出问题的程序B是在A中调用使用的。
比如在A里选择1,运行B画面。
我把A和B各自built后,release文件夹下生成的a.exe,b.exe,复制到一个新的文件夹里,
单独双击b.exe,出现上述问题
先运行a.exe,选择1,启动的b正常
很不理解怎么突然成这样子了
#7
你是不是编译的时候,忘记选择工具栏上的编译方式了?
选Debug模式,exe生成到Debug文件夹;
选Release模式,exe生成到Release文件夹;
选Debug模式,exe生成到Debug文件夹;
选Release模式,exe生成到Release文件夹;
#8
两个都试过了
每次都是debug文件夹里生成的exe正常
release文件夹里生成的不正常
每次都是debug文件夹里生成的exe正常
release文件夹里生成的不正常
#9
F10单步调试,在B程序里,执行下面的代码
Sub Main(ByVal CmdArgs() As String)
frmMain.ShowFormAsDialog(C_DEBUG, CmdArgs)
End Sub
是因为参数C_DEBUG的原因吗?
可以以前好好的呀,这是别人做的程序,我没改过
Sub Main(ByVal CmdArgs() As String)
frmMain.ShowFormAsDialog(C_DEBUG, CmdArgs)
End Sub
是因为参数C_DEBUG的原因吗?
可以以前好好的呀,这是别人做的程序,我没改过
#10
DEBUG的定义
#If DEBUG Then
Const C_DEBUG As Boolean = True
#Else
Const C_DEBUG As Boolean = False
#End If
#If DEBUG Then
Const C_DEBUG As Boolean = True
#Else
Const C_DEBUG As Boolean = False
#End If
#11
查看下是否跟当然路径被改变有关系,A程序中有改变路径的操作
#12
查看下是否跟当前路径被改变有关系,A程序中是否有改变路径的操作
#13
现在编译正常了
原因是原来的程序中,有像上面贴的代码那样的调试控制
现在把那些注释掉,就ok了
不过现在还有两个问题搞不明白
1。为什么以前同样的操作就没问题?(我根本不懂这些,以前就是按照和其他程序一样的做法,正常)
2。原来的代码中为什么要对debug和release加以判断控制呢,肯定有他的原因,一般什么情况下需要这样做?
原因是原来的程序中,有像上面贴的代码那样的调试控制
现在把那些注释掉,就ok了
不过现在还有两个问题搞不明白
1。为什么以前同样的操作就没问题?(我根本不懂这些,以前就是按照和其他程序一样的做法,正常)
2。原来的代码中为什么要对debug和release加以判断控制呢,肯定有他的原因,一般什么情况下需要这样做?
#14
因为有些代码只是在调试的时候需要,
正式发布的时候就不需要了。
正式发布的时候就不需要了。
#15
这问题,我也不太清楚
#1
编译之前,删除所有已经生成过的dll pbd文件,重新编译。
#2
built之前,先进行clean,然后built,
生成的exe还是不能正常运行
生成的exe还是不能正常运行
#3
各位没有遇到过这种情况吗,会是什么原因呢
#4
试过编写其它程序吗?如果都是这种问题,考虑你的VS是否出现问题。机器是否有木马。
如果其它正常那就检查代码吧!
如果其它正常那就检查代码吧!
#5
debug文件夹下的exe和release下的exe有什么区别吗?
#6
其他程序都正常
就这个程序,上周也正常
今天突然就变成这样了
另外一个现象是,出问题的程序B是在A中调用使用的。
比如在A里选择1,运行B画面。
我把A和B各自built后,release文件夹下生成的a.exe,b.exe,复制到一个新的文件夹里,
单独双击b.exe,出现上述问题
先运行a.exe,选择1,启动的b正常
很不理解怎么突然成这样子了
就这个程序,上周也正常
今天突然就变成这样了
另外一个现象是,出问题的程序B是在A中调用使用的。
比如在A里选择1,运行B画面。
我把A和B各自built后,release文件夹下生成的a.exe,b.exe,复制到一个新的文件夹里,
单独双击b.exe,出现上述问题
先运行a.exe,选择1,启动的b正常
很不理解怎么突然成这样子了
#7
你是不是编译的时候,忘记选择工具栏上的编译方式了?
选Debug模式,exe生成到Debug文件夹;
选Release模式,exe生成到Release文件夹;
选Debug模式,exe生成到Debug文件夹;
选Release模式,exe生成到Release文件夹;
#8
两个都试过了
每次都是debug文件夹里生成的exe正常
release文件夹里生成的不正常
每次都是debug文件夹里生成的exe正常
release文件夹里生成的不正常
#9
F10单步调试,在B程序里,执行下面的代码
Sub Main(ByVal CmdArgs() As String)
frmMain.ShowFormAsDialog(C_DEBUG, CmdArgs)
End Sub
是因为参数C_DEBUG的原因吗?
可以以前好好的呀,这是别人做的程序,我没改过
Sub Main(ByVal CmdArgs() As String)
frmMain.ShowFormAsDialog(C_DEBUG, CmdArgs)
End Sub
是因为参数C_DEBUG的原因吗?
可以以前好好的呀,这是别人做的程序,我没改过
#10
DEBUG的定义
#If DEBUG Then
Const C_DEBUG As Boolean = True
#Else
Const C_DEBUG As Boolean = False
#End If
#If DEBUG Then
Const C_DEBUG As Boolean = True
#Else
Const C_DEBUG As Boolean = False
#End If
#11
查看下是否跟当然路径被改变有关系,A程序中有改变路径的操作
#12
查看下是否跟当前路径被改变有关系,A程序中是否有改变路径的操作
#13
现在编译正常了
原因是原来的程序中,有像上面贴的代码那样的调试控制
现在把那些注释掉,就ok了
不过现在还有两个问题搞不明白
1。为什么以前同样的操作就没问题?(我根本不懂这些,以前就是按照和其他程序一样的做法,正常)
2。原来的代码中为什么要对debug和release加以判断控制呢,肯定有他的原因,一般什么情况下需要这样做?
原因是原来的程序中,有像上面贴的代码那样的调试控制
现在把那些注释掉,就ok了
不过现在还有两个问题搞不明白
1。为什么以前同样的操作就没问题?(我根本不懂这些,以前就是按照和其他程序一样的做法,正常)
2。原来的代码中为什么要对debug和release加以判断控制呢,肯定有他的原因,一般什么情况下需要这样做?
#14
因为有些代码只是在调试的时候需要,
正式发布的时候就不需要了。
正式发布的时候就不需要了。
#15
这问题,我也不太清楚