CrashDetect 插件技术文档
本文档将详细介绍如何安装、使用 CrashDetect 插件,以及如何使用其 API。CrashDetect 是一款用于帮助调试运行时错误和服务器崩溃的工具,它能够在发生错误时提供详细的错误描述、堆栈跟踪和其他有用的信息,以便快速定位和解决问题。
1. 安装指南
1.1 下载二进制包
从 GitHub 的 Releases 页面下载二进制包,或者从源代码自行构建(见下面的“从源代码构建”)。
1.2 安装插件
- 解压下载的二进制包,将
crashdetect.so(Linux)或crashdetect.dll(Windows)复制到<服务器>/plugins/目录下。 - 在
server.cfg文件的plugins行中添加crashdetect(Windows)或crashdetect.so(Linux)。
二进制包中包含一个头文件 crashdetect.inc,其中包含一些可能非常有用的辅助函数。但请注意,您不需要包含它即可使用 CrashDetect。
2. 使用说明
除了安装插件外,您无需进行任何其他操作即可开始接收到错误报告。默认情况下,所有错误都会保存在 server_log.txt 文件中,但这可以通过配置进行更改(见下面的“配置”)。
为了获得更好的调试体验,请确保您的脚本在启用调试信息的情况下编译。这样做将使堆栈跟踪中显示更多信息,例如函数名、参数名和值、源文件名和行号。
请注意,使用此插件时,您的代码将运行得更慢,因为检测错误并提供准确错误信息的相关开销。通常这在开发过程中是可以接受的,但不建议在具有许多玩家的生产(实时)服务器上加载 CrashDetect。
3. 项目API使用文档
以下是 crashdetect.inc 中定义的一些函数,它们为访问插件信息提供了更友好的 API。
bool:IsCrashDetectPresent()- 检查 CrashDetect 插件是否已加载。SetCrashDetectLongCallTime(us_time)- 设置长时间函数调用的警告阈值。GetCrashDetectLongCallTime()- 获取长时间函数调用的警告阈值。DisableCrashDetectLongCall()- 禁用长时间函数调用警告。EnableCrashDetectLongCall()- 启用长时间函数调用警告。ResetCrashDetectLongCallTime()- 将长时间函数调用阈值重置为默认值(从server.cfg中获取)。RestartCrashDetectLongCall()- 重置长时间函数调用的计时器。bool:IsCrashDetectLongCallEnabled()- 检查长时间函数调用检测是否已启用。bool:HasCrashDetectLongCall()- 检查当前版本的 CrashDetect 是否支持此功能。GetCrashDetectDefaultTime()- 获取默认的长时间函数调用阈值。DisableCrashDetectAddr0()- 在此模式下禁用对地址零的写入检测。EnableCrashDetectAddr0()- 在此模式下启用对地址零的写入检测。bool:IsCrashDetectAddr0Enabled()- 检查错误是否已启用。bool:HasCrashDetectAddr0()- 检查当前版本的 CrashDetect 是否支持此功能。
4. 项目安装方式
4.1 从源代码构建
如果要从源代码构建 CrashDetect,例如修复错误并提交 pull request,只需按照以下步骤操作。您需要安装 C++ 编译器和 CMake。
Linux
安装 gcc 和 g++,make 和 cmake。在 Ubuntu 上,您可以使用以下命令:
sudo apt-get install gcc g++ make cmake
如果您在使用 64 位系统,您需要安装额外的包来编译 32 位程序:
sudo apt-get install gcc-multilib g++-multilib
对于 CentOS:
yum install gcc gcc-c++ cmake28 make
现在您可以构建 CrashDetect:
cd crashdetect
mkdir build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF
make
Windows
您需要安装 CMake 和 Visual Studio(Express 版本即可)。之后,可以从命令行运行 cmake:
cd crashdetect
mkdir build && cd build
path/to/cmake.exe ../ -DBUILD_TESTING=OFF
或者从 cmake-gui 中执行相同的操作。这将在构建文件夹中生成一个 Visual Studio 项目。
要构建项目:
path/to/cmake.exe --build . --config Release
您也可以从 Visual Studio 中构建项目:打开 build/crashdetect.sln 并选择“构建”菜单中的“构建解决方案”(或直接按 F7)。
本文档在遵循 2-clause BSD 许可证的情况下提供。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00