当前位置: 首页 > news >正文

RimWorld 断点调试——第一回

众所周知,写 RimWorld Mod 时,没法儿直接对代码进行断点调试,那如何才能实现这个功能就成为了一个问题。现在介绍我第一个成功使用的办法。该方法依赖 Windows Visual Studio,不适用于除 Windows 以外的系统。

建议先复制一个 RimWorld 本体到 Steam 路径外,方便开发以及复原。


一、确认 Unity 版本

打开游戏目录,找到启动游戏的 EXE 文件,右键查看属性
image
点开详细信息,产品版本就是要找到 Unity 版本
image


二、下载 Unity

去 Unity 官网下载对应的构建版本。
上面的链接可能打不开,这是因为我给出的是国际版的官网。由于我不太了解国际版和国内特供的区别,建议使用国际版 Unity 以避免发生问题。
一定要确认版本是否与第一步找到的一致。
image
下载适用于 Windows 操作系统的版本。
image
耐心等待下载完成。


三、获取前置文件

找到下载的文件
image
由于 1.6 版本开始,通过压缩包方式打开没法儿获取需要的文件,只能浪费时间选择一个路径安装再获取文件了。
因此需要打开安装包并选一个你喜欢的路径安装,这里就不放图片了。

安装完成后,找到你安装的路径并打开对应的文件夹,找到以下路径的对应文件夹:
[InstallFolder]\Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win64_development_mono
image
将 UnityPlayer.dll 和 WinPixEventRuntime.dll 复制到 RimWorld 的根目录(第一步中找到游戏 EXE 文件的文件夹),覆盖原有文件。
image
将 WindowsPlayer.exe 重命名为启动游戏的 EXE 文件的名字(根据第一步,这里重命名为 RimWorldWin64.exe),并复制到 RimWorld 的根目录,覆盖原有文件。
image

现在,你可以卸载安装的 Unity 了。


四、配置游戏文件

打开游戏根目录,找到以下路径的对应文件:
[RimWorldFolder]\RimWorldWin64_Data\boot.config
image
打开文件并添加以下内容:

wait-for-managed-debugger=1
player-connection-debug=1

image
保存修改后的文件


五、配置项目文件

打开 Mod 项目的解决方案,右键项目打开属性页面
image
在生成——输出中打开高级选项
image
将调试信息设置为可移植
image


六、开始调试

生成 Mod 项目,将 DLL 和 PDB 文件复制到 Mod 加载 DLL 文件的路径下,接下来将要调试的 Mod 添加到 Mod 加载列表,使用替换后的 EXE 文件启动游戏。
这时会弹出一个窗口提示你可以准备开始调试,无论你点击确定还是窗口的关闭按钮,都会继续启动游戏(若是不小心启动的,可以使用任务管理器关闭,这样就不会启动游戏)
image
打开 Visual Studio 顶部菜单中的调试菜单,选择附加到 Unity 调试程序
image
选中游戏并点击确定
image

现在,IDE 就能进入你在代码中打的断点了。

参考:

[Tool](1.1) Use Visual Studio 2019 to debug your own mods

http://www.rkmt.cn/news/49938.html

相关文章:

  • Upgrade Your Diagnostics with OTOFIX VCI V1 Bluetooth Connector for Seamless Scanning
  • 2025 Autel IM608 PRO II Full Kit – Advanced Diagnostics with Free G-Box3
  • Python 在 Windows 上提示文本消息的实现(模拟安卓手机上的 Toast 效果)
  • 每日一导4
  • 4.3 基于极限拉伸强度估算零件S-N曲线
  • 2025年宁夏AI客服服务商/供应商最新top5专业推荐:智能交互重构企业服务新范式
  • Polander is good.
  • 软件工程学习日志2025.11.14
  • Intel N100是个性价比很高的CPU
  • MC 红石电路
  • 线世界“3P”:数码影音界的璀璨明珠
  • C# 流程控制(学习笔记3)
  • 【提示词工程】PPT做得越用心,听众越想睡觉?
  • win10 右击菜单-子项目过多导致 慢
  • 让PlantUML的布线更加简洁的一个方法
  • java实现Word转Pdf(Windows、Linux通用) - IT
  • docker: ubuntu 24.04安装docker
  • 探索“AI元人文”构想:致学者、技术专家与爱好者的一篇导言
  • 实用指南:计算机视觉(opencv)——基于 MediaPipe 人体姿态检测
  • 《团队协作:如何高效进行代码审查》
  • 英国留学中介避坑指南:新通/厚仁领跑,G5录取率93%+的靠谱留学机构清单
  • C# 数据类型与运算符(学习笔记2)
  • 《移动开发:Flutter与React Native的对比》‌
  • 超参数调优:Grid Search 和 Random Search 的实战对比
  • 实用指南:26秋招三分钟快速背诵一个八股-Spring中Bean的生命周期
  • FreeSWITCH使用RNNoise进行实时通话降噪
  • Spring AI Alibaba 项目源码学习(六)-Agent Framework 工作原理与使用
  • 采用 OpenCASCADE 提取布尔运算后平面图形的外轮廓
  • 题解:AtCoder ARC209D A_A_i
  • Kotlin Coroutines