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
多线程调试技巧
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就转移到别的变量上了,最终导致软件崩溃,而且无法正常捕获到错误的地方.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)