UE-VS2022

调试

条件断点

FString

1
wcsstr((wchar_t*)MyString.Data.AllocatorInstance.Data,L"MyText") == 0

FName

1
strstr(((FNameEntry&)GNameBlocksDebug[MyFName.DisplayIndex.Value >> FNameDebugVisualizer::OffsetBits][FNameDebugVisualizer::EntryStride * (MyFName.DisplayIndex.Value & FNameDebugVisualizer::OffsetMask)]).AnsiName,"Search substring")

UnrealVS

这是 UE 制作的插件,有很好的功能。

在 Engine\Extras\UnrealVS\VS2022\UnrealVS.vsix 中,双击安装即可。

之后对上面状态栏右键,可以扩展出 UnrealVS 处:

然后就能很方便地加启动参数了:

dmp文件

直接拖入VS中:

这里要注意,我们需要加载 pdb 文件才能调试,可以在设置符号路径处设置,我们这里可以填服务器路径(例如我们项目就是会把 pdb 都上传到一个地址,只需要填 \xxx.xxx.xxx\xxx 之类的地址就行), 服务器路径这个选项要打开:

配制

bug

代码高亮错误

表现为一堆报红线,网上有两种解决方法,参考: https://forums.unrealengine.com/t/ue-5-1-visualstudio-2022-intellisense-for-engine-files-not-working-in-ue5/551166/19

方法一:

方法二: 运行 GenerateProjectFiles.bat 加上 -Engine 参数: .\GenerateProjectFiles.bat -Engine

我最后方法一不行试的方法二成功。

方法三: 某个模块改坏了,导致一直红线。这时候改一下对应的 .Build.cs(随便改然后撤回就行,目的是触发重新检测环境),然后重新 GenerateProjectFiles

参考

[UFSH2023]总有一个你不知道的虚幻引擎调试技巧 | 陈拓 Epic Games

Licensed under CC BY-NC-SA 4.0