OI-代码调试法

Posted zbsy-wwx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OI-代码调试法相关的知识,希望对你有一定的参考价值。

zhx今天在qbxt讲了这个知识点,遂整理一下.

一、环境配置(Windows7)

  • 桌面-计算机-右键-属性-高级系统设置-高级-环境变量-(用户变量)新建
  • 变量名:PATH,变量值:C:Program Files (x86)Dev-CppMinGW64in

二、使用方法

  • 打开代码文件夹
  • shift+右键,在此处打开命令窗口

三、常用命令(gdb)

  • 编译:
    • g++ 1.cpp -o 1.exe -g(开启调试信息)
  • r:运行程序
  • b(设断点):
    • 按行数:b 行数 (if(xxx)) (例子:b 15 if(a=15))
    • 按函数名:b 函数名(b print)
  • s:进入单步执行
    • finish:完成当前函数(如:跳过print()的内部过程)
    • n:直接执行完这一步(如:for循环中)
  • c:运行到下一个断点
  • p a:输出变量a的值
  • display a:随时输出变量a的值
  • q:退出gdb

四、规避TLE/MLE

  • size 1.exe:查看1.exe的占用内存(除以10242即为多少M)
    • (编译:g++ 1.cpp -o 1.exe -g)
  • gprof 1.exe > test.out:对1.exe进行性能分析并将结果保存在test.out中
    • (编译:g++ 1.cpp -o 1.exe -g -pg)
    • 性能分析结果:
      • time:占用了百分之多少的时间

五、在OI中的应用

  • 在熟练使用后调试速度比其他方法更快,更适合在考场上使用

以上是关于OI-代码调试法的主要内容,如果未能解决你的问题,请参考以下文章

[软件工程]代码调试方法 : 小黄鸭调试法 [转载]

如何调试前端代码

第1658期 Chrome 专家调试法 - 介绍 Chrome 开发者工具的最佳用法

Git 二分调试法,火速定位疑难Bug!

调试,高级--step into my code ,只调试自己写的代码,shux,各种step操作debug

Linux程序调试-常用调试技巧