首页 > 解决方案 > AzerothCore 与 Gdb、重启器和崩溃日志?

问题描述

如何启用crashlogsgdb重启AzerothCore 服务器?我找不到有关此的任何信息,请帮助。

标签: azerothcore

解决方案


更新 28/04/2021

官方指南可在此处获得:https ://www.azerothcore.org/wiki/how-to-restart-and-debug

使用 acore 仪表板

在这里您可以找到适用于 linux/bash 环境的重启程序:https ://github.com/azerothcore/azerothcore-wotlk/tree/master/apps/startup-scripts

/dist如果您使用我们的./acore.sh仪表板,这些脚本会在编译后自动复制到目录中

您可以复制conf.sh.dist并创建一个conf-world.sh文件来自定义那些记录在案的配置(对 执行相同的操作conf-auth.sh)。这样,您就可以预先配置 restarter 和 gdb 以gdb.txt在核心崩溃时创建一个 (crashdump) 文件。确保使用RelWithDebInfoDebug编译(在您的 CMake 命令中)以获得有意义的崩溃报告。

然后从 conf 文件旁边的“示例”和“运行引擎”文件的同一文件夹中复制和restarter-world.shrestarter-auth.sh

最终你会得到这样的东西:

例子

运行这 2 个重启脚本,让 authserver 和 worldserver 重启都支持 gdb。

RESTARTERS(不支持 gdb)

您还可以使用./acore.sh run-worldserver./acore.sh run-authserver

当您使用仪表板进行编译时,它们都可以开箱即用

手动方式

始终确保使用RelWithDebInfoDebug编译(在您的 CMake 命令中)以获得有意义的崩溃报告。

创建一个gdb.conf在里面调用的文件:

set logging on
set debug timestamp
run -c ../etc/worldserver.conf
bt

然后,要调试或创建故障转储,您可以使用 gdb 命令,如其文档中所述:

gdb -x gdb.conf --batch ./worldserver

此命令应该足以附加您的 IDE 以调试您的代码,并在服务器崩溃时生成故障转储

对于“通用”和更高级的重启器,我个人使用的是PM2

pm2 start "gdb -x gdb.conf --batch ./worldserver"

自动重启、监控和 gdb 你的服务器应该足够了

使用码头工人

工作正在进行中...


推荐阅读