azerothcore - AzerothCore 与 Gdb、重启器和崩溃日志?
问题描述
如何启用crashlogs、gdb和重启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) 文件。确保使用RelWithDebInfo
或Debug
编译(在您的 CMake 命令中)以获得有意义的崩溃报告。
然后从 conf 文件旁边的“示例”和“运行引擎”文件的同一文件夹中复制和restarter-world.sh
。restarter-auth.sh
最终你会得到这样的东西:
运行这 2 个重启脚本,让 authserver 和 worldserver 重启都支持 gdb。
RESTARTERS(不支持 gdb)
您还可以使用./acore.sh run-worldserver
和./acore.sh run-authserver
当您使用仪表板进行编译时,它们都可以开箱即用
手动方式
始终确保使用RelWithDebInfo或Debug编译(在您的 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 你的服务器应该足够了
使用码头工人
工作正在进行中...
推荐阅读
- oracle - 使用ORACLE查找第五个位置是否是字母而不是数字
- python - 从 Dataflow python 作业写入 bigquery 中的分区表
- android - 如何获取具有相同字符串键的所有项目 android firebase
- java - 用junit测试很多相关实体
- spring - Spring boot 2 配置没有 EmbeddedMongo 的响应式 mongo db 存储库
- python - 如何使用 ESRI ASCII Raster 格式文件(如 Matlab 中的 mapshow)在 Python 中绘制栅格地图?
- javascript - 安装 prerender-spa-plugin 后 Vue js babel 构建错误
- c# - 如何添加 if else 语句以检查数据是否已输入 SQL Server 数据库并显示消息
- abap - 如何使用 BAPI_OUTB_DELIVERY_CHANGE 参数 EXTENSION2 更新 Z 字段?
- mysql - MySQL工作台数据导入,外键错误