debug和release发布的区别大吗?

Tiny~ 2018-04-13 11:19:16
首先说我是小白,别嘲笑……
只有debug下app.publish文件夹里面的才能正常使用,直接发布release,结果各种报错,还不知道是什么原因引起的报错……

我想问下,他们区别大不大?如果我直接把debug下的文件打包给客户端,除了更容易被反编译,被人嘲笑,还会怎么样?--程序本身稳定性相比release版本如何?
...全文
628 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2018-04-13
  • 打赏
  • 举报
回复
没有了 debug 信息,体积变小了 优化了代码,运行速度就提高了
Tiny~ 2018-04-13
  • 打赏
  • 举报
回复
引用 11 楼 xuzuning 的回复:
结果各种报错,还不知道是什么原因引起的报错…… 但你至少还知道在报什么错 而我们呢,什么都不知道
版主,请问下,我刚才重新发布release不知道怎么又可以了…… 而且软件体积变小,是减少了调试信息吗? 还有,不知道是不是错觉,怎么感觉release版本的似乎要“快”一点点?
Tiny~ 2018-04-13
  • 打赏
  • 举报
回复
引用 10 楼 twotuli_software 的回复:
release同时也是把代码进行过优化的版本,如果写代码不注意,比如多线程中,是会有坑的。
奇怪,刚重新发布了下release,又好了
Tiny~ 2018-04-13
  • 打赏
  • 举报
回复
引用 14 楼 xuzuning 的回复:
没有了 debug 信息,体积变小了 优化了代码,运行速度就提高了
非常感谢!困扰多时的问题解决,结贴散分……
xuzuning 2018-04-13
  • 打赏
  • 举报
回复
结果各种报错,还不知道是什么原因引起的报错…… 但你至少还知道在报什么错 而我们呢,什么都不知道
维秀斯丢丢 2018-04-13
  • 打赏
  • 举报
回复
release同时也是把代码进行过优化的版本,如果写代码不注意,比如多线程中,是会有坑的。
whilewk 2018-04-13
  • 打赏
  • 举报
回复
debug包含了一些调试用的东西,(只知道个表面)
你懂的11 2018-04-13
  • 打赏
  • 举报
回复
引用 3 楼 qq_30660917 的回复:
[quote=引用 1 楼 u012408847 的回复:] 没人回答。。我给你解析一下。。。。可以参考一下 debug是调试版本,其中包括了出错时能够定位源代码的在行,如果源文件已经改变,定位出来会有偏移,而且,在这个版本中编译器不会进行代码优化,并且在程序中能用宏定义_DEBUG来确定当前的版本。release是正试版本,程序出错只是进行简单的错误处理,编译器会优化代码,以提高性能,当然就没有了调试信息
谢谢解答,但是为什么使用debug版本正常不报错,使用release启动就直接报错呢?确实好奇怪……[/quote] debug是调试程序使用的。。。release报错说明你的程序中有未赋值的变量。。。。。个人猜测 相关经验:https://blog.csdn.net/xietingcandice/article/details/9086271
exception92 2018-04-13
  • 打赏
  • 举报
回复
引用 4 楼 qq_30660917 的回复:
[quote=引用 2 楼 duanzi_peng 的回复:] 差别还是有的,不然怎么会有两种运行方式。Debug模式为了快速排查出异常,方便定位问题,检测任何属性变量的值,修改运行时的代码逻辑等等。 Release模式编译的代码更加轻量精简。
谢谢版主解答,使用release启动就直接报错呢?[/quote] 不要把错误的出现推到“使用release启动” 这个概念上,应该去仔细排查项目中存在的问题。
Tiny~ 2018-04-13
  • 打赏
  • 举报
回复
引用 5 楼 qq_38588710 的回复:
[quote=引用 4 楼 qq_30660917 的回复:] [quote=引用 2 楼 duanzi_peng 的回复:] 差别还是有的,不然怎么会有两种运行方式。Debug模式为了快速排查出异常,方便定位问题,检测任何属性变量的值,修改运行时的代码逻辑等等。 Release模式编译的代码更加轻量精简。
谢谢版主解答,使用release启动就直接报错呢?[/quote] 你把报错贴出来啊,你的dll引用和config文件有没有复制到release文件夹下 [/quote] 这个不会,我不会弄这么低级的错误!就是别的错误,正在重装vs,待会重新发布一个release试试再来贴图
易2017 2018-04-13
  • 打赏
  • 举报
回复
引用 4 楼 qq_30660917 的回复:
[quote=引用 2 楼 duanzi_peng 的回复:] 差别还是有的,不然怎么会有两种运行方式。Debug模式为了快速排查出异常,方便定位问题,检测任何属性变量的值,修改运行时的代码逻辑等等。 Release模式编译的代码更加轻量精简。
谢谢版主解答,使用release启动就直接报错呢?[/quote] 你把报错贴出来啊,你的dll引用和config文件有没有复制到release文件夹下
Tiny~ 2018-04-13
  • 打赏
  • 举报
回复
引用 2 楼 duanzi_peng 的回复:
差别还是有的,不然怎么会有两种运行方式。Debug模式为了快速排查出异常,方便定位问题,检测任何属性变量的值,修改运行时的代码逻辑等等。 Release模式编译的代码更加轻量精简。
谢谢版主解答,使用release启动就直接报错呢?
Tiny~ 2018-04-13
  • 打赏
  • 举报
回复
引用 1 楼 u012408847 的回复:
没人回答。。我给你解析一下。。。。可以参考一下 debug是调试版本,其中包括了出错时能够定位源代码的在行,如果源文件已经改变,定位出来会有偏移,而且,在这个版本中编译器不会进行代码优化,并且在程序中能用宏定义_DEBUG来确定当前的版本。release是正试版本,程序出错只是进行简单的错误处理,编译器会优化代码,以提高性能,当然就没有了调试信息
谢谢解答,但是为什么使用debug版本正常不报错,使用release启动就直接报错呢?确实好奇怪……
exception92 2018-04-13
  • 打赏
  • 举报
回复
差别还是有的,不然怎么会有两种运行方式。Debug模式为了快速排查出异常,方便定位问题,检测任何属性变量的值,修改运行时的代码逻辑等等。 Release模式编译的代码更加轻量精简。
你懂的11 2018-04-13
  • 打赏
  • 举报
回复
没人回答。。我给你解析一下。。。。可以参考一下 debug是调试版本,其中包括了出错时能够定位源代码的在行,如果源文件已经改变,定位出来会有偏移,而且,在这个版本中编译器不会进行代码优化,并且在程序中能用宏定义_DEBUG来确定当前的版本。release是正试版本,程序出错只是进行简单的错误处理,编译器会优化代码,以提高性能,当然就没有了调试信息

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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