获取测试点数据
当前状态:存在已知 Bug
该功能目前存在已知 Bug,在部分场景下可能无法正常获取数据,正在修复中(大概率修不好)。如遇问题请在 GitHub Issues 反馈。
功能介绍
当您的提交出现 WA(Wrong Answer)、TLE(Time Limit Exceeded) 或 RE(Runtime Error) 时,「获取测试点数据」功能可以让您直接查看该测试点的输入数据,在本地重现问题,大幅加速调试流程。
适用场景:
- 代码在本地测试通过,但提交后 WA — 可以获取让你 WA 的具体输入
- 程序 TLE — 获取输入后可在本地用更大数据集测试复杂度
- 程序 RE — 获取输入后可在本地精确复现崩溃情况
使用方法
- 进入状态页面(提交记录列表),找到出现错误的那条提交
- 点击提交展开测试点详情
- 在出错的测试点行旁,点击「获取数据」按钮
- 稍等片刻,该测试点的输入数据将显示在弹出框中
- 复制输入数据到本地文件,在本地重现并调试
本地调试建议
获取到测试点数据后,推荐按以下流程调试:
bash
# 1. 将输入数据保存为文件
echo "(粘贴输入数据)" > input.txt
# 2. 编译代码(以 C++ 为例)
g++ -O2 -o solution solution.cpp
# 3. 用测试点数据运行
./solution < input.txt
# 4. 如需调试,加 -g 编译后用 gdb
g++ -g -o solution_debug solution.cpp
gdb ./solution_debug配合「复制测试样例」使用
题面中的样例数据可通过 XMOJ-Script 的「复制测试样例」功能一键复制到剪贴板,快速填入本地测试文件。
已知问题
- 部分比赛的测试点数据获取按钮显示但点击无响应 — 正在修复(大概率修不好)
- 数据量较大时加载时间较长属于正常现象,请耐心等待
