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都能得到调试。

相关推荐
Yuk丶1 天前
UE4客户端开发技术问题汇总
面试·ue4·图形学·ue4客户端开发
邪修king2 天前
【UE4/UE5 萌新向】有C++基础如何快速入门虚幻引擎?超详细图文全揭秘!
c++·ue5·ue4
每天回答3个问题12 天前
LeetCodeHot100|对称二叉树、二叉树的直径、二叉树的层序遍历
数据结构·c++·ue4·
Tancenter13 天前
CARLA Unreal Engine 4 (UE4) 在运行时遇到的 崩溃,与 Vulkan 图形 API 相关
ue4·carla
每天回答3个问题1 个月前
leetcodeHot100|148.排序链表
数据结构·c++·链表·ue4
a1117761 个月前
Elven Girl Belle - UE4/UE5 角色资源(附下载链接)
ue5·ue4
Kang.Charles1 个月前
UE4 C++将Json数据写入目标字符串
c++·json·ue4
avi91112 个月前
UE4-UE5虚幻引擎-前置学习三,优化,基础CPP
ue5·ue4·游戏开发·虚幻·游戏优化·游戏代码
一个响当当的名号3 个月前
lectrue4 数据库存储
ue4
陈友松3 个月前
UE5运行时操作撤销系统插件
ue5·ue4·运行时回退撤销