编程中VS调试技巧

1.什么是bug

bug本意是“昆⾍”或“⾍⼦”,现在⼀般是指在电脑系统或程序中,隐藏着的⼀些未被发现的缺陷或
问题,简称程序漏洞。“Bug”的创始⼈格蕾丝·赫柏(GraceMurrayHopper),她是⼀位为美国海军⼯作的电脑专家,
1947年9⽉9⽇,格蕾丝·赫柏对HarvardMarkII设置好17000个继电器进⾏编程后,技术⼈员正在进⾏整机运⾏时,它突然停⽌了⼯作。于是他们爬上去找原因,发现这台巨⼤的计算机内部⼀组继电器的触点之间有⼀只⻜蛾,这显然是由于⻜蛾受光和热的吸引,⻜到了触点上,然后被⾼电压击死所在报告中,赫柏⽤胶条贴上⻜蛾,并把“bug”来表⽰“⼀个在电脑程序⾥的错误”,“Bug”这个说法⼀直沿⽤到今天。

在计算机科学中,“bug”指的是程序或软件中的错误或问题,它可能导致程序无常运行或产生不正确的结果。Bug通常是程序员在编写代码时犯的错误,如语法错误、逻辑错误或者程序设计错误。其他可能导致bug的因素包括软件开发中的不当做法、软件之间的不兼容或外部环境的变化。
发现并修复bug是软件开发过程中的一个重要环节。开发者通常会使用各种调试工具和技术来找到问题的根源,并编写代码来解决这些问题,以确保软件的稳定性和性能。随着软件的不断更新和升级,新版本的软件会修复旧版本中发现的bug,并提供更好的用户体验。

2.什么是调试

当我们发现程序中存在的问题的时候,那下⼀步就是找到问题,并修复问题。
这个找问题的过程叫称为调试,英⽂叫debug(消灭bug)的意思。
调试⼀个程序,⾸先是承认出现了问题,然后通过各种⼿段去定位问题的位置,可能是逐过程的调
试,也可能是隔离和屏蔽代码的⽅式,找到问题所的位置,然后确定错误产⽣的原因,再修复代码,重新测试。
 

3.debug和release

       在软件开发过程中,debug(调试)和release(发布)是两个重要的阶段,它们分别代表了不同的目标和工作内容。
1. Debug(调试)
调试是软件开发过程中的一个阶段,旨在发现、报告、分析和修复程序中的bug或缺陷。这个过程通常涉及以下步骤:
   - 识别问题:用户报告问题或开发者通过测试发现程序的行为不符合预期。
   - 复现问题:开发者试图在控制的环境中复现用户报告的问题,以便更好地理解问题所在。
   - 诊断问题:开发者使用调试工具(如调试器、日志分析工具等)来分析程序的运行情况,查找导致问题的原因。
   - 修复问题:开发者编写代码修正问题,并确保修复不会引入新的bug。
   - 验证修复:开发者测试修复后的代码,确保问题已经解决,并且修复没有影响程序的其他部分。
调试通常是在开发环境中进行的,使用的是专门为这一目的设计的工具和资源。
2. Release(发布)
发布是指将软件的某个版本部署到实际用户或客户可以访问的环境中。发布通常意味着软件已经经过了严格的测试,并且被认为是稳定和安全的。发布的过程可能包括:
   - 最终测试:在软件发布之前,通常会进行全面的测试,以确保所有已知的问题都已被解决,并且软件的整体质量符合标准。
   - 版本控制:确保发布的版本是经过版本控制的,以便可以追踪更改并必要时回滚到之前的版本。
   - 部署:将软件部署到生产环境,使其可以被最终用户使用。
   - 用户文档和支持:提供用户手册、在线帮助文档和客户支持,帮助用户理解和使用软件。
在软件开发周期中,调试和发布是不断循环的过程。软件在发布后可能会收集到新的用户反馈和问题报告,这可能会导致新的调试活动,进而产生新的发布版本。

4.vs调试快捷键

在Visual Studio(VS)中,有许多快捷键用于提高开发效率,特别是在调试程序时。以下是一些常用的调试快捷键:
1. 设置断点(Set Breakpoint)
   - 在代码编辑器中,点击左侧行号旁边的区域,或者使用快捷键:
     - Windows/Linux:`F9`
2. 单步执行(Step Over)
   - 执行当前行的代码,但不进入方法内部。
     - Windows/Linux:`F10`
3. 单步执行(Step Into)
   - 执行当前行的代码,并进入方法内部(如果方法是已知类型)。
     - Windows/Linux:`F11`
4. 单步执行(Step Out)
   - 退出当前正在调试的方法,返回到调用它的方法。
     - Windows/Linux:`Shift + F11`
5. 运行到光标位置(Run to Cursor)
   - 继续执行代码,直到光标所在位置。
     - Windows/Linux:`Alt + F
6. 开始调试(Start Debugging)
   - 开始运行程序并进入调试模式。
     - Windows/Linux:`F5`
7. 继续执行(Continue Execution)
   - 继续执行程序,直到下一个断点或程序结束。
     - Windows/Linux:`F8`
8. 停止调试(Stop Debugging)
   - 立即停止调试会话。
     - Windows/Linux:`Ctrl + F5`
9. 切换断点(Toggle Breakpoint)
   - 切换当前行的断点状态(如果已有断点则取消,如果没有则设置)。
     - Windows/Linux:`F9`
10. 窗口切换(Window Navigation)
    - 在不同的IDE窗口之间切换,例如源代码窗口、输出窗口、监视窗口等。
    - Windows/Linux:`Ctrl + Tab`
请注意,快捷键可能会根据操作系统和Visual Studio的版本有所不同。如果你使用的是不同版本的Visual Studio,或者你的操作系统不是Windows或macOS,上述快捷键可能会有所变化。你可以通过查看Visual Studio的“工具”菜单中的“选项”来找到具体的快捷键设置。

5.监视和内存观察

5.1监视

开始调试后,在菜单栏中【调试】->【窗⼝】->【监视】,打开任意⼀个监视窗⼝,输⼊想要观察的对象就⾏。

打开监视窗⼝:

5.2内存观察  

如果监视窗⼝看的不够仔细,也是可以观察变量在内存中的存储情况,还是在【调试】->【窗⼝】->【内存】
打开内存窗⼝:

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-02-14 19:44:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-14 19:44:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-14 19:44:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-14 19:44:01       18 阅读

热门阅读

  1. LeetCode面试题54. 二叉搜索树的第k大节点

    2024-02-14 19:44:01       35 阅读
  2. mysql全国省市县三级联动创表sql(一)

    2024-02-14 19:44:01       39 阅读
  3. 机器视觉技术:提升安全与效率的关键

    2024-02-14 19:44:01       40 阅读
  4. Python爬虫:安全与会话管理

    2024-02-14 19:44:01       42 阅读
  5. Oracle数据库

    2024-02-14 19:44:01       30 阅读
  6. 深入解析MySQL 8:事务数据字典的变革

    2024-02-14 19:44:01       30 阅读
  7. 2.12作业

    2024-02-14 19:44:01       26 阅读
  8. 计算机如何搭建存储服务器

    2024-02-14 19:44:01       29 阅读