DEBUG学习

前言

DEBUG的学习,强烈推荐阅读官方文档:https://docs.microsoft.com/zh-cn/visualstudio/debugger/find-your-debugging-task?view=vs-2019#view-the-order-in-which-functions-are-called面面俱到而且详细,看完以后妈妈再也不用担心DEBUG了,

如果看得进去官方的海量文档,那么就不需要往下看了,直接点传送门,文中的转载多为原作者的简化总结,方便快速阅读.

内容多为转载,均会附带出处.自己写截图什么着实麻烦,而且再怎么写也没有官方文档面面俱到,专业详细.一键三联,下次一定,都没有尊重知识产权的前提下的白嫖香.

记录下来,以免每次用到,疯狂谷歌,方便快速查找.

基本DEBUG技巧

这段知识推荐阅读知乎的这篇文章,常用的技巧讲述的很清楚,附带动图.

  • F5 开始使用调试器运行程序
  • F9 在当前行设置断点
  • F10 运行到下一个断点处
  • F5 从被调试的已停止程序恢复执行
  • F11 步进到函数内(如果当前程序指针指向一个函数)
  • F10 步过函数(如果当前程序指针指向一个函数)
  • Shift+F11 步出执行的函数
  • 暂停执行
  • 附加到进程
  • 鼠标悬停时快速查看源代码中的元素
  • 调试窗口:局部变量、监视、即时窗口、模块、调用堆栈、异常设置

原文链接:https://zhuanlan.zhihu.com/p/157625640

多线程调试技巧

推荐官方文档:https://docs.microsoft.com/zh-cn/visualstudio/debugger/get-started-debugging-multithreaded-apps?view=vs-2019

LINQ调试

谈到LINQ调试,那就不得不说LINQPad这个工具,LINQ调试神器,下载链接

LINQPad官网:https://www.linqpad.net/

LINQPad云盘下载链接:

https://pan.baidu.com/s/1B_vznhKvwRzeAT_pBbsJfQ
提取码:3ddl
复制这段内容后打开百度网盘手机App,操作更方便哦

官方文档:https://docs.microsoft.com/zh-cn/visualstudio/debugger/debugging-linq?view=vs-2019

简单化总结类博文推荐:https://blog.csdn.net/weixin_42930928/article/details/91953262

使用日志进行BUG跟踪调试

Log4net使用:https://www.cnblogs.com/oucsheep/p/9467932.html

log4net配置: https://www.cnblogs.com/weixiaowei/p/8253228.html

log4net.Core.LoggerManager:https://blog.csdn.net/eatonfang/article/details/40622945

非常完善的Log4net详细说明:https://blog.csdn.net/binnygoal/article/details/79557746

总结

DEBUG的时候一定要细心,而且还要有耐心,软件设计之初就要把写日志加入进去.最近被一个LINQ2DB的BUG折腾了两天,着实学到不少,一个小数点最后牵扯出.类库,数据库,发包工具,安装包,诸多问题.导致软件崩溃,捕获到的异常,日志记录的错误,三者竟然都不一样,最后才发现原作者进行了山路十八弯的计算,最后BUG就转移到别的变量上了,最终导致软件崩溃,而且无法正常捕获到错误的地方.

登峰造极的成就源于自律
原文地址:https://www.cnblogs.com/fishpond816/p/14093849.html