GitHub - notfoundry/ppstep: 交互式 C/C++ 预处理器宏调试器

主要观点:C 和 C++预处理器因宏可写晦涩难理解代码而被容忍,其虽有好处但也有弊端,PPstep 是宏作者用于调试的工具。
关键信息

  • 可可视化单步执行宏扩展和重新扫描直到预处理完成。
  • 能在特定预处理事件上设置断点并继续预处理。
  • 展示待处理宏扩展的回溯和未来宏重新扫描的前瞻。
  • 可在预处理过程中定义/取消定义宏并随时展开宏。
  • 待实现功能有反向步进和可视化条件编译分支。
    重要细节
  • 构建需git clone仓库、C++17 编译器、较新 Boost 并cmakemake
  • 试用时运行ppstep your-source-file.c,支持常见预处理器标志。
  • 提示形如pp>,可用steps命令前进,新宏调用等会有颜色标记,结束用quitq命令。
  • 可通过backtracebt查看待处理宏扩展历史,forwardtraceft查看未来宏重新扫描。
  • 可设置断点,如break call YOUR_MACRO等,删除断点语法类似。
  • 可在预处理过程中使用预处理器指令,如#define等,还可用expand命令展开宏。
阅读 15
0 条评论