请问.net编译的时候Debug和Release有什么区别呀?

时间:2021-04-04 03:32:03
为什么有时候编译在Debug下就没有错,用Release就有错了

7 个解决方案

#1


主要区别:Debug可以单步调试,Release不可以,debug编译会有pdb文件生成,release不会
比如:
一个debug编译的EXE,调用一个Release编译的dll方法的时候,按F11程序也跟不进去的,
但是一个debug编译的EXE,调用一个debug编译的dll方法的时候,按F11程序就跟到那个dll里面去了。

#2


另外,Debug时尼编译solution没有错可能有问题的project跳过去了他不编译了,建议把bin里的东西删除试试。

#3


那么这两种编译方式各有什么优点特点呀,为了确保程序的质量,两种编译方式都要运行有必要吗?
我们很少用Release,一般都用Debug来跑

#4


Debug模式(调试模式),会在生成的EXE文件中加入可调试信息,Release模式(发布模式)则不会。所以用Release模式生成的EXE文件会比Debug模式生成的小几KB,理论上运行速度比Debug的快,但实际上偶没感觉出来,呵呵。
但是在Release模式下,无法进行任何调试(包括设断点)。

这两种编译方式用途是不同的,Debug模式供调试使用。等你觉得程序没有错误了,可以发布给别人用了,那么用Release编译,然后打包就行了。而并不是说用哪种比较好,用处不同,没有可比性。

#5


在debug调试以后,用Release发布,debug单步调试,

#6


qzj(SoldierQ)说得没错,给予支持!

#7


謝謝大家:)

#1


主要区别:Debug可以单步调试,Release不可以,debug编译会有pdb文件生成,release不会
比如:
一个debug编译的EXE,调用一个Release编译的dll方法的时候,按F11程序也跟不进去的,
但是一个debug编译的EXE,调用一个debug编译的dll方法的时候,按F11程序就跟到那个dll里面去了。

#2


另外,Debug时尼编译solution没有错可能有问题的project跳过去了他不编译了,建议把bin里的东西删除试试。

#3


那么这两种编译方式各有什么优点特点呀,为了确保程序的质量,两种编译方式都要运行有必要吗?
我们很少用Release,一般都用Debug来跑

#4


Debug模式(调试模式),会在生成的EXE文件中加入可调试信息,Release模式(发布模式)则不会。所以用Release模式生成的EXE文件会比Debug模式生成的小几KB,理论上运行速度比Debug的快,但实际上偶没感觉出来,呵呵。
但是在Release模式下,无法进行任何调试(包括设断点)。

这两种编译方式用途是不同的,Debug模式供调试使用。等你觉得程序没有错误了,可以发布给别人用了,那么用Release编译,然后打包就行了。而并不是说用哪种比较好,用处不同,没有可比性。

#5


在debug调试以后,用Release发布,debug单步调试,

#6


qzj(SoldierQ)说得没错,给予支持!

#7


謝謝大家:)