-
什么是bug?
在1945年,美国科学家Grace Hopper在进行计算机编程时,发现一只小虫子钻进了一个真空管,导致计算机无法正常工作。她取出虫子后,计算机恢复了正常,由此,她首次将“Bug”这个词用来描述计算机系统中的问题。
-
什么是Debug?
DEBUG是一个用于程序调试的工具,主要用于发现和修复计算机程序中的错误、缺陷或故障。它允许程序员检查内存中任何位置的字节,并可以修改这些字节的值。通过使用DEBUG,程序员可以逐指令执行程序,验证程序的正确性,追踪程序的执行过程,比较指令执行前后的值,以及读写文件和磁盘扇区等。
-
Debug和Release模式的差别?
1.调试信息:Debug模式包含详细的调试信息,如变量名、行号等,这有助于程序员在调试过程中定位问题。而Release模式则不包含这些信息,以优化程序的大小和运行效率。
2.优化:Release模式会对代码进行优化,以提高程序的运行效率。这可能包括去除无用代码、压缩存储和加速代码执行等。而Debug模式则不会对代码进行优化,以便程序员能够更轻松地调试和诊断问题。
3.运行速度:由于Release模式对代码进行了优化,因此生成的程序通常比Debug模式下的程序运行速度更快。Debug模式下的程序由于包含了调试信息和没有进行优化,通常较大且运行速度较慢。
4.错误报告:Debug模式通常会提供更详细的错误报告,帮助程序员更容易地识别代码中的问题。而Release模式则可能不提供这些详细的错误报告,以减少程序的大小和提高运行效率。
5.安全性:Release模式通常用于发布最终产品,因此在生成的可执行文件中不会包含调试信息,这有助于保护代码的安全性和知识产权。
-
如何进行调试?
1.添加断点:在想要暂停的代码行号后面单击鼠标左键,这样就可以在指定的代码位置设置断点。根据个人需求可以同时添加多个断点。
2.启动DEBUG模式:右键点击选择调试程序(debug)。此时,程序将在断点处暂停执行。
3.进入调试窗口:在调试窗口中,可以看到程序执行到断点处时停住,右边可以看到当前所在的方法,以及程序中变量值的变化。
4.执行代码:点击“步入”按钮,可以执行当前暂停处的语句。执行后,程序将停在下一行的断点处,同时变量值也会相应更新。
5.观察变量值:在调试过程中,可以观察程序中变量的变化情况,从而判断程序的执行流程是否正确。
6.清除断点:断点可以在调试完成后清除。选择要删除的断点,单击鼠标左键即可。
- 快捷键以及说明:
F5:直接跳到下一个断点
比如下列代码:在调试时候想要直接结束第一个循环,进入下一个循环,那么只需要单击取消1361行的端点,然后按F5即可。
F10:通常在调试有函数代码中使用,如果不想进入该函数,逐过程可以直接跳过该函数,不进入函数内部,直接进入下一条语句。
此时端点停留在1353行,如果不想进入bubble_sort中,可以按F10跳过该函数执行1354行代码。
F11:逐语句就是逐条语句执行,碰到函数会进入函数内部。如果在上面1353行按下F11,则就会进入bubble_sort函数内部,如下:
Shift+F11:调试时,进入函数内部,想要直接执行完函数(跳出函数),执行下一条语句时使用。比如上面截图中代码执行到627行,如果想要直接跳出,则只需要按下Shift+F11,就可以跳出函数,如下: