Skip to content

Repository files navigation

Campus C Debugger

面向 C 语言初学者的本地错误检测与安全自动修复工具。它调用电脑上的 GCC 获取真实编译诊断,再用简洁中文说明问题,并在代码中标出错误和修复位置。

功能

  • 使用本机 GCC 检测 C11 代码,不上传代码
  • 只显示整理后的中文问题,不暴露冗长的 GCC 原始输出
  • 仅提示错误行号,并在代码中标红具体位置
  • 原始代码与修复后代码左右对照,修改片段标绿
  • 自动修复漏写分号、常见 scanf 取地址符、if 中误用赋值号、缺少 stdio.h 等机械性问题
  • VS Code 风格语法高亮和清晰行号
  • 日间/夜间模式切换,并记住上次选择
  • 一键清空原始代码、修复代码和诊断结果

自动修复刻意保持保守。程序不会擅自改写复杂算法,也不会运行用户输入的 C 程序。

系统要求

项目 要求
操作系统 Windows 10/11
编译器 GCC,推荐 MinGW-w64
源码运行 Python 3.10 或更高版本,需包含 tkinter

快速开始

使用 Release 版

  1. 打开仓库右侧的 Releases
  2. 下载最新版 CampusC-Debugger.exe
  3. 启动程序,在右上角进入“设置”。
  4. 选择电脑中的 gcc.exe,点击“检测编译器”。
  5. 粘贴 C 代码并点击“检测”或“自动修复”。

Windows 对新下载且未签名的个人项目可能显示安全提醒。请核对文件来自本仓库,并可使用 Release 附带的 SHA256SUMS.txt 校验。

从源码运行

python app.py

在 Windows 本机构建

解压源码后双击 set up.bat。脚本会:

  1. 安装 PyInstaller;
  2. 在当前文件夹生成 CampusC-Debugger.exe
  3. 在桌面创建快捷方式;
  4. 成功后自动关闭命令行。

若失败,窗口会保留并提示查看 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

About

本地离线的 C 语言错误检测与安全自动修复工具,基于 GCC,提供中文诊断、差异高亮和日夜模式。

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages