调试 C++ Mod

调试 C++ Mod

日志能解决的问题有限。有时需要设置断点,直接检查调用栈和变量。本指南介绍具体方法。

注意,本指南也完全适用于调试 UE4SS 本身。

先决条件

本指南假设你已了解如何使用调试器。如果尚不了解,请查看 IDE 的指南,例如:

操作流程

  1. 在要调试的文件顶部附近添加 #include <Helpers/Debug.hpp>。
  2. 在程序执行到断点之前的某个位置,调用 RC::await_debugger()。它会暂停当前线程的执行,直到调试器连接。
  3. 将调试器附加到游戏进程。具体步骤请参阅 IDE 指南,相关选项通常在 Run 或 Debug 菜单下。要调试的可执行文件通常与游戏目录中的 ue4ss 文件夹位于同一位置。
    • 也可以将 IDE 调试器设置为在可执行文件启动时自动附加。
  4. 随后程序就会命中断点!

重要注意事项

  • 不保证稳定性。Unreal 是多线程程序,如果游戏线程暂停过久,可能会出现问题。多数情况下,至少可以逐步执行需要调试的代码。设置 IDE 自动附加到游戏进程可以缓解或消除这些问题。
  • RC::await_debugger() 被标记为 deprecated,因此使用时编译器会发出警告。这是有意为之:绝不能在 Mod 或 UE4SS 的正式/公开构建中调用它。它实际上并未弃用。

原文:docs/guides/debugging-a-c++-mod.md · 固定提交 560411f18512 · 来源与 MIT 许可