UE4 Rider如何直接调试PC DebugGame

背景

1、用UBT 打了一个exe的包,打开时遇到崩溃,想获知这个崩溃时的中间信息,例如材质信息,于是我直接双击 打包位置下的崩溃dmp文件 (MyGame/Saved/Archived/WindowsClient/MyGame/Saved/Crashes/....dmp) 去查看堆栈。堆栈虽然看得到,但是很多中间变量都没有了。

2、由于崩溃发生得很快,我没有办法用Rider去Attach它,AI建议我再在代码中添加一段延时方法,如下:

#include "HAL/PlatformProcess.h"

// 在代码的合适位置添加,例如BeginPlay开始时

FPlatformProcess::Sleep(10.0f); // 延迟10秒

但我觉得比较麻烦,因此没有这么做。

Rider以PC的配置编译调试

如上图所示,直接用Rider编辑器去以PC的配置(DebugGame - Client - Win64 )来编译、打开与下断点,查看问题。

下面日志信息是 Console(上图)中的第一行,体现了这种操作下,编译的产物(即执行的exe)的位置:

D:\MiniPC2\MyGame\Binaries\Win64\MyGame_MiniClient-Win64-DebugGame.exe D:\MiniPC2\MyGame\MyGame.uproject -skipcompile

很快,你就如愿以偿得到断点了。此时用到的是以下Cooked资源:

补充

Debug和DebugGame 两种编译模式下的区别,在于 前者的引擎也是保存了很多调试信息的,因此更慢,而后者的引擎是删除了调试信息的。Debug和DebugGame 两种编译模式下,Game都能得到调试。

相关推荐
倾心唯恋13 小时前
更新Epic后通过工程路径和Epic双击打不开UE4项目,提示Failed to launch editor的解决办法
ue4
2501_9389313313 小时前
UE4SS-RE 安装全指南:基础环境变量设置到高级跨版本部署适配
ue4
小宝哥Code13 小时前
UE5在布局自定义上的UE4ClassicLayout.ini文件源码解读分析
java·ue5·ue4
T***u3332 天前
PHP在电商中的会员管理
开发语言·wireshark·php·ue4·jina
染指11106 天前
18.游戏逆向-pxxx-使用ida分析UProperty结构中的offset和size解密
ue4·虚幻引擎
2501_938782091 个月前
《UE4 蓝图基础:蓝图编辑器打开与节点连接的核心逻辑》
编辑器·ue4
小江村儿的文杰1 个月前
UE4 iOS包遇到“无法安装,无法安装此APP,因为无法验证其完整性”
ue4
染指11101 个月前
23.UE-游戏逆向-寻找骨骼坐标
ue4·虚幻·虚幻引擎·ue·unrealengine4
图亚Vanta1 个月前
UE4_UE5 的快速下载安装教学 (UE产品展示程序实例教程 1)
ue4·visual studio
DoomGT2 个月前
UE5 - C++项目基础
c++·ue5·ue4·虚幻·虚幻引擎·unreal engine