找回密码
 立即注册
查看: 564|回复: 2

[笔记] Unity3D程序开发必备技能-调试[Debug]

[复制链接]
发表于 2021-12-3 09:12 | 显示全部楼层 |阅读模式
前言:

Unity开发中的程序调试主要就涉及到的是C#程序的调试,主流开发中可能都比较喜欢使用微软的开发环境,当然也有其他比较好的集成开发环境,但比较推荐使用微软的产品,毕竟C#语言就是微软出品的,这对于使用微软的集成开发环境有着天然的优势。  的确,Visual Studio 有些过于笨重,如果可以的话,微软的Visual studio code也比较不错,有很多插件扩展支持。

如果想要了解 VSCode 可以看看这篇文章 :

<hr/>

说这么多我们来看看如何使用Visual studio来高效调试Unity的C#程序。工欲善其事,必先利其器。一个好的调试工具与好的调试方法,可以方便我们快速找到程序问题所在,能否很好的利用好调试工具这也是你成为一名优秀的游戏开发人员所必备的。  下面就介绍些调试的内容,大多内容大家可以参考MSDN上的内容。

首先介绍些Visual studio的设置与快捷键

1、主题颜色设置,推荐使用深色,如果初学者觉的看代码不够清晰,可以设置为蓝色
工具>选项



2、代码字体设置,推荐使用Consolas字体,选择看着比较舒适的字体,字体大小10-14左右即可。
工具>选项



3、显示行号,方便查错
工具>选项>文本编辑器>所有语言



4、代码注释与整理
Ctrl + K+C : 注释所选代码块 Ctrl + K+U : 取消代码块注释 Ctrl + K+D : 整理对齐整个代码区 Ctrl + K+F : 整理对齐所选代码块

5、选择代码
Home: 跳转行首 End: 跳转行尾 Shift + Home : 快速选择中这一行光标前的代码 Shift + End : 快速选择中这一行光标后的代码 Shift + 方向键 : 快速选择上下左右的代码

6、代码搜索与最大化代码区
Ctrl + F : 输入需要搜索的关键词 Ctrl + F3 : 以选中的部分内容进行搜索 Shift + Alt + Enter : 最大化代码编写区域

先介绍这些了,快捷键很多,大家可以多掌握些,提高开发调试效率。

<hr/>
现在来介绍调试的方法:

首先你要确保你的Visual Studio能附加到Unity,这在你安装Visual Studio时需要注意选择相关组件支持,这在Visual Studio 2017安装时选择 支持Unity游戏开发组件即可。
断点调试


断点调试是在开发中比较常用的。  断点指示VS执行到哪行代码时挂起。程序挂起时,你可以查看你想看的东西,比如,变量值,内存,代码执行分支等。

设置断点
在代码编辑区的左侧边缘单击一下或者在相应代码行按下 F9 ,傍边出现的小红点就表示断点。


附加到Unity
设置好断点后,选择附加到Unity,点击绿色按钮,然后回到Unity编辑器,点击 Play按钮启动游戏。VS会在执行到断点处,将程序挂起。这时你可以切换窗口,查看你想要查看的变量值等。





接下来,比较常用的操作
F10:单步调试,逐过程调试 F11: 跳转至内层函数,逐语句调试 Shift+F11: 从当前函数中跳出

可以设置多个断点,在F5,F10等快捷键之间切换,转到不同的的断点。

<hr/>
当然上方是一个普通的断点调试,还有其他的断点调试,例如:条件断点,追踪断点,函数断点,数据断点,调用堆栈窗口设置断点等。
推荐阅读:

主要介绍了断点调试,当然其他的调试,如在安卓真机断点调试
推荐阅读:

<hr/>后记:

做编程开发,强大的Debug能力是你所必须要掌握的,同时也是你在面对项目问题时的法宝,也是你职业发展生涯的垫脚石。

最后在推荐两个比较好用的反编译工具[仅供学习,勿盗用他人代码],学习别人优秀代码有时比你写许多代码更有收获,当然需要你一边看一边思考,同时也可以做些注释与笔记!
1、dnspy (github搜索即可)






<hr/>2、DevXUnity-Unpacker Magic Tools


Export & Import resources
https://www.zhihu.com/video/1067100576923308032
视频演示如何提取资源,还有其他包括代码反编译等等,功能丰富,可以自己去尝试一下。
<hr/>

  • siki老师温馨提示(公众号:siki):
文章千万条,点赞分享最重要。 收藏不点赞,老师心儿两行泪。
如果你喜欢游戏开发,欢迎加入Unity 学习资源交流群,群聊号码:954131591(速记:狗屋是一生一屋狗药)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-12-3 09:18 | 显示全部楼层
很好,我用rider
发表于 2021-12-3 09:22 | 显示全部楼层
vs code跟ride两个补全的功能都没有vs好[为难]
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 13:11 , Processed in 0.093570 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表