博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多使用调用堆栈调试VC++代码
阅读量:5926 次
发布时间:2019-06-19

本文共 684 字,大约阅读时间需要 2 分钟。

时间再紧,还是记一下吧!记下小成功与小失败,继续往前。

 故事

 近一天多时间,(其实在前几天中就隐约出现这个BUG,只是当时没有系统地或者频繁地调试运行故没有发现)被一个BUG折磨得够呛!

  现在归纳来看,根本原因还是自己对于开发工具不熟练。今天再次出现这个BUG,因为代码太长了,没有办法,只得大致根据代码执行流程及自己的经验分析诊断。

  今天休息间(临时被BUG折磨,只得休息一下!),忽然想起以前曾经有几次观察过调用堆栈的事情。于是,抓紧时间试一下,果然成功----一只很大的BUG被挖出来了!

 总结

  犯上述错误原因主要在于:代码非常长(近5000行),而且反复修改,有时很多内容无意间修改不完全(这是一种典型的无意间,而且很多人都会出现的错误),导致后期浪费大量时间。

  结论之一是:以后多多使用系统提供的“重构”功能(如今的我使用的VS2012集成开发环境这方面支持个人感觉已经非常优秀),甚至对于较长的子函数也尽可能使用,从而最大限度地避免上述问题!(有时候,个人有些骄傲,在较长函数内部修改就不使用“重构”了!正是这种原因导致上述BUG。)

  结论之二是:出现系统运行错时,多多使用调用堆栈。如今的调用堆栈能够帮助你最近地靠拢出现BUG的源码处,VERY GOOD!看看我的这个截图吧。

只要双击相应的调用堆栈中那一行,源码立即出现在面前。几乎第一时间就帮助你抓住BUG了!

  

本文转自朱先忠老师51CTO博客,原文链接: http://blog.51cto.com/zhuxianzhong/1548665,如需转载请自行联系原作者

你可能感兴趣的文章
能源项目xml文件 -- app-context.xml
查看>>
P4 前端编译器p4c-bm、后端编译器bmv2命令安装 make error问题
查看>>
C#2.0 to 4.0
查看>>
mysql索引失效
查看>>
Windows下卸载软件时提示 等待先前的卸载完成? 终止 dllhost.exe 进程
查看>>
JAVA设计模式之门面模式(外观模式)
查看>>
java遇见的问题分析
查看>>
基于key/value+Hadoop HDFS 设计的存储系统的shell命令接口
查看>>
Log4Net的WebApplication使用
查看>>
路由器与交换机区别
查看>>
8-12 canvas专题-阶段练习一(上)
查看>>
keras系列︱Application中五款已训练模型、VGG16框架(Sequential式、Model式)解读(二)...
查看>>
Linux学习笔记之一————什么是Linux及其应用领域
查看>>
springcloud~Eureka实例搭建
查看>>
git工具 将源码clone到本地指定目录的三种方式
查看>>
dubbo源码解析-zookeeper创建节点
查看>>
【2018-11-15】中证1000指数的估值详情
查看>>
新的一年
查看>>
js数组去重,合集等操作
查看>>
BPM与Workflow的区别
查看>>