面向 C 语言初学者的本地错误检测与安全自动修复工具。它调用电脑上的 GCC 获取真实编译诊断,再用简洁中文说明问题,并在代码中标出错误和修复位置。
- 使用本机 GCC 检测 C11 代码,不上传代码
- 只显示整理后的中文问题,不暴露冗长的 GCC 原始输出
- 仅提示错误行号,并在代码中标红具体位置
- 原始代码与修复后代码左右对照,修改片段标绿
- 自动修复漏写分号、常见
scanf取地址符、if中误用赋值号、缺少stdio.h等机械性问题 - VS Code 风格语法高亮和清晰行号
- 日间/夜间模式切换,并记住上次选择
- 一键清空原始代码、修复代码和诊断结果
自动修复刻意保持保守。程序不会擅自改写复杂算法,也不会运行用户输入的 C 程序。
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10/11 |
| 编译器 | GCC,推荐 MinGW-w64 |
| 源码运行 | Python 3.10 或更高版本,需包含 tkinter |
- 打开仓库右侧的 Releases。
- 下载最新版
CampusC-Debugger.exe。 - 启动程序,在右上角进入“设置”。
- 选择电脑中的
gcc.exe,点击“检测编译器”。 - 粘贴 C 代码并点击“检测”或“自动修复”。
Windows 对新下载且未签名的个人项目可能显示安全提醒。请核对文件来自本仓库,并可使用 Release 附带的 SHA256SUMS.txt 校验。
python app.py解压源码后双击 set up.bat。脚本会:
- 安装 PyInstaller;
- 在当前文件夹生成
CampusC-Debugger.exe; - 在桌面创建快捷方式;
- 成功后自动关闭命令行。
若失败,窗口会保留并提示查看 setup.log。
| 问题 | 示例 | 修复 |
|---|---|---|
| 漏写分号 | int score = 90 |
在行末补 ; |
scanf 缺地址符 |
scanf("%d", age); |
改为 &age |
| 条件误用赋值号 | if (age = 18) |
改为 == |
| 缺少标准输入输出头文件 | 使用 printf 但没有包含头文件 |
补充 #include <stdio.h> |
- 检测在本机完成,程序自身不联网。
- C 代码只会被写入临时目录供 GCC 编译。
- 编译生成的临时程序不会被执行。
- 临时目录在检测结束后自动清理。
python -m unittest discover -s tests -v
python -m py_compile app.py项目只依赖 Python 标准库;打包时需要 PyInstaller。
- 增加更多确定性、低风险的自动修复规则
- 增加诊断条目的点击跳转
- 增加字体大小设置
- 增加更多测试用例
欢迎提交问题和改进建议。开始前请阅读 CONTRIBUTING.md。
本项目采用 MIT License。