| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity中如何使用Rider调试C#和lua代码以及激活Rider? -> 正文阅读 |
|
[游戏开发]Unity中如何使用Rider调试C#和lua代码以及激活Rider? |
工作中经常需要调试lua代码,之前使用VS调试C#代码,使用Intellij Idea来调试lua代码,这样其实比较麻烦,所以查了一下,可以直接使用Rider来统一的调试C#和lua代码 Rider安装及激活license:这里使用Rider2021.3操作:Rider2021.3,包含激活license-Unity3D文档类资源-CSDN下载 下载完成后解压,双击安装“JetBrains.Rider-2021.3”,一路默认安装完成。 激活license:1.将解压后文件夹中的“fineagent.jar”拷贝到C盘根目录下 2.在“JetBrains.Rider”的安装目录下找到“rider64.exe.vmoptions”文件——通常路径为:C:\Program Files\JetBrains\JetBrains Rider 2021.3\bin —— 并使用notepad++或者记事本打开: 在“rider64.exe.vmoptions”文件末尾添加指令“-javaagent:c:/fineagent.jar”: PS:不同平台使用的指令不同,具体可查看上述解压后的文件夹中“readme.txt”文件 3.打开Rider,此时需要输入license信息。 找到上述解压后的文件夹中“readme.txt”文件,拷贝Activation Code: 点击“Activate”即可激活Rider 使用Rider调试C#代码:打开Unity,在preference中设置为Rider,当双击C#文件时则会自动使用Rider打开: 在Rider菜单栏中选择“Attach to Unity Editor”: 注意: 1.一般选择“Attach to Unity Editor”,不要选择“Attach to Unity Editor & Play”。后者在点击调试图标后会自动启动Unity —— 有些情况为了方便调试并不需要自动启动Unity。两者区别仅仅在于是否调试时自动启动Unity,可以根据具体情况而定 2.在断点C#代码时需要先启动Rider中的调试,然后运行Unity。 使用Rider断点C#代码很简单,因为在安装Rider后可以将Unity和Rider关联起来,代码调试很简单 使用Rider调试Lua代码:1.安装EmmyLua插件用于lua调试:在Rider菜单栏“File -> Settings”: 2.配置LuaDebugger:点击“Edit Configuration”:? ? 点击左上角“+”添加LuaDebugger: 设置LuaDebugger的Name以及Connection方式: 3.LuaDebugger有两种Conection方式方式一:Rider充当服务器 —— Tcp (Debugger connect IDE)Rider先启动调试模式,等待Unity启动后连接 1.根据LuaDebugger中的设置,需要将“dbg.tcpConnect”粘贴入lua代码中: 2.找到C#调用Lua代码最初始的文件,如“GameMain.lua”等,在代码顶部添加: 或者也可以将以上拷贝的“dbg.tcpConnect”等代码放进独立的lua脚本"EmmyLuaDebgger.lua"中,然后在“GameMain.lua”中“Require EmmyLuaDebugger”也可以: 如新建“EmmyLuaDebugger.lua”脚本:
在GameMain.lua中: 3.启动Rider调试模式: 选择“LuaDebugger”后,点击“Debug”按钮开启调试: 然后运行Unity,自动连接成功后即可正常进行断点lua代码 方式二:Unity充当服务器 —— Tcp(IDE connect debugger)先启动Unity,等待Rider连接后调试 1.复制“dbg”连接代码: 2.新建EmmyLuaDebugger.lua文件:
?3.在C#最初调用Lua代码的地方执行该脚本: 在“GameManager.cs”中添加如下语句: PS: 1.该模式下需要在"dbg.tcpListen"末尾添加“dbg.waitIDE()”语句,否则启动Unity后会直接运行,并不会出现“等待Rider连接的阶段”,这样是无法正常断点调试的。 “dbg.waitIDE()”执行后,Unity会直接卡住,此时只有在Rider连接成功后Unity才会继续执行 2.由于执行“dbg.waitIDE”后Unity会直接卡住,等待Rider连接。此时可以添加一些解释说明以提醒启动Rider调试,例如在“GameManager.cs”中添加“OnGUI”显示,这个后面再添加具体实现方式 4.启动Unity,然后在Rider端启动调试即可正常断点lua代码 PS: Rider使用中的一些细节:1.断点调试各个按钮的作用: 按钮1代表从一个断点直接跳转到下一个断点处 —— Resume Program 按钮2代表单步调试,指沿着当前代码一行一行的逐步执行 —— Step Into 按钮3代表跳出当前的单步调试,回到上一级。主要针对于单步调试执行到当前方法的方法体内时,使用“Step Out”可以跳出当前方法体回到上一级 —— Step Out 2.快捷键: shift + shift 查找指定文件?? “Ctrl + shift + F” 全局查找: “Cc”:区分大小写,比如当搜索内容为“HandButtonBinding”时,只有当大小写完全为“HandButtonBinding”时才会满足。当不开启“Cc”时,那么“handbuttonbing”也会满足该搜索结果 "W":当搜索内容为“abc”时,如果点开“W”,那么只有当字符串为“abc”时才会被识别,“abcdef”不会被识别;如果不点开“W”,那么“abc”,“abcdef”都会被识别 ?IDEA的快捷键总结:IDEA和Rider的快捷键有些是通用的【IDEA 教程系列第 2 篇】 idea 常用快捷键(每个都有操作演示)_Allen Su的博客-CSDN博客 3.当使用Rider或IDEA的过程中,当打开的文件数量较多时,有些脚本会自动被关闭掉,此时可以设置一共打开的脚本数量上限: 如上可以根据具体情况设置打开脚本的数量上限,如“30” |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 11:20:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |