多线程与调试 (FreePlane的mm格式文件导出)
2013-04-27 21:35
381 查看
~ 多线程及调试
修改记录
2011年8月25日 第一次使用freeplane来做笔记,感觉不算,你可以再完善一下,做成你自己的库
2013年4月27日21:09:35 增加自己对内存泄露的体会
减少bug的产生
把waring转成error
有wanging不能发布
代码检查工作来帮助可能的问题点
编码规范来约束代码的质量
堆的破坏会出现非常奇怪的问题,检索完整性
_CrtCheckMemory
GetProcessHeap
关于堆的相关信息可以参考: http://blog.csdn.net/ithzhang/article/details/8446489
数据结构的自检:关键属性是否在合理的范围
数据结构的dump
多胜于不能停止的程序
嵌入式的开发+log的使用
assert与log是编程习惯的问题
泄漏问题
resouce
memory
gdi
handle:file, socket, mutex
好的方式:
new:delete, malloc:free
open:close
析构来释放资源与互斥量
好的代码的逻辑上清楚的,坏的代码的逻辑上中混乱的
_CrtDumpMenoryLeaks
purify
bounds cheak
vc自带的工具
_CrtSetAllocHookc
perfmon,mandleExa工具来查看泄漏的问题
使用VLD来检查内存泄露是一种不错的选择,其基于crt函数的结合可以显示发生内存泄露的调用堆栈,这个就很有用了,对解决问题有很大的帮助。只所以使用这个小工具是因为,64位的win7和boudschecker没有安装起来
现场信息很重要
机不可失,失不再来,事事如此
dotwson来dump有用的信息
死循环的问题
crash
:异常退出与中断问题
access violation:一定要调试
win32 Sem
让我想起了林锐的吃内存的程序,很好玩的,不是吗???
map与pdb文件的使用方式可以学习一下
vc使用技巧的问题
从经典的vc6到强大的vc2005,及目前超级的vc2010
公欲善其事,必先得其器!!!
本次培训还只停留在vc的平台上,与gnu还不在一个层次
使用windbg加pdb或使用GDB来调试,在更高的一个层次上呀!!!
vc的断点设置技巧还是要学习一下的——学习知识点
内存断点对内存覆盖问题是一个不错的选择
各种条件断点的增加是能力的提升
无鼠标的操作,才算合格
watch窗口也能合++执行两次,函数执行,都是可能的,
各种工具窗口的使用,在没有能写pdb的运行脚本之前,这个很有很的
远程调试的问题
远程调试的知识是自己从网上学习过的
dump
save dump as
msdn的学习
DebugBreak
工具
windump
战略与战术
bug的来历:虫子,真的是虫子
只在用户的环境下运行不正常的问题
几百万行的代码如何找到bug
10%的时间在写代码,90%的时间在调试
其实设计才是第一位的,设计做好了,代码质量很高, bug出现的可能性就会降低
在使用工具去查找问题之前请一定要把自己的代码整理一下。最近对内存泄露问题使用工具没有查出,也确定没有内存泄露,原因是以前为调试代码,自己把客户端发过来的请求给放到一个vector中备份,后来给忘记了,在服务端退出时会清除内存,但运行时内存一直在增加,当发现是这个问题引起的假内存泄露时我心都碎了!!!
缺陷:设计与需求不相符
bug:程序与功能不一致
获取,定位,重现,减少:bug的四步骤
思路问题,几个月之后你看你的逻辑感觉怎样
assert的使用,尽量使用:函数的入口与出口处断言
log是逻辑问题的最终方法:关键地方输出你的关键信息
pdb文件:
release版本的带一些调试信息,优化等级
map文件的使用,与pdb的区别如何???
好的思想
逻辑不清楚的人产生的bug越难,问题的关键是设计与逻辑
单元测试才是程序员的可靠方案
迭代的开发模式
程序的单入单出,函数功能的单一化
有调试信息的版本,发给用户,来使用
log是十分重要的工具,查找疑难问题的终极工具
预防比调试重要
不使用assert的代码中不合格的,人也是不称职的!!!
学习,积累,实践
修改记录
2011年8月25日 第一次使用freeplane来做笔记,感觉不算,你可以再完善一下,做成你自己的库
2013年4月27日21:09:35 增加自己对内存泄露的体会
减少bug的产生
把waring转成error
有wanging不能发布
代码检查工作来帮助可能的问题点
编码规范来约束代码的质量
堆的破坏会出现非常奇怪的问题,检索完整性
_CrtCheckMemory
GetProcessHeap
关于堆的相关信息可以参考: http://blog.csdn.net/ithzhang/article/details/8446489
数据结构的自检:关键属性是否在合理的范围
数据结构的dump
多胜于不能停止的程序
嵌入式的开发+log的使用
assert与log是编程习惯的问题
泄漏问题
resouce
memory
gdi
handle:file, socket, mutex
好的方式:
new:delete, malloc:free
open:close
析构来释放资源与互斥量
好的代码的逻辑上清楚的,坏的代码的逻辑上中混乱的
_CrtDumpMenoryLeaks
purify
bounds cheak
vc自带的工具
_CrtSetAllocHookc
perfmon,mandleExa工具来查看泄漏的问题
使用VLD来检查内存泄露是一种不错的选择,其基于crt函数的结合可以显示发生内存泄露的调用堆栈,这个就很有用了,对解决问题有很大的帮助。只所以使用这个小工具是因为,64位的win7和boudschecker没有安装起来
现场信息很重要
机不可失,失不再来,事事如此
dotwson来dump有用的信息
死循环的问题
crash
:异常退出与中断问题
access violation:一定要调试
win32 Sem
让我想起了林锐的吃内存的程序,很好玩的,不是吗???
map与pdb文件的使用方式可以学习一下
vc使用技巧的问题
从经典的vc6到强大的vc2005,及目前超级的vc2010
公欲善其事,必先得其器!!!
本次培训还只停留在vc的平台上,与gnu还不在一个层次
使用windbg加pdb或使用GDB来调试,在更高的一个层次上呀!!!
vc的断点设置技巧还是要学习一下的——学习知识点
内存断点对内存覆盖问题是一个不错的选择
各种条件断点的增加是能力的提升
无鼠标的操作,才算合格
watch窗口也能合++执行两次,函数执行,都是可能的,
各种工具窗口的使用,在没有能写pdb的运行脚本之前,这个很有很的
远程调试的问题
远程调试的知识是自己从网上学习过的
dump
save dump as
msdn的学习
DebugBreak
工具
windump
战略与战术
bug的来历:虫子,真的是虫子
只在用户的环境下运行不正常的问题
几百万行的代码如何找到bug
10%的时间在写代码,90%的时间在调试
其实设计才是第一位的,设计做好了,代码质量很高, bug出现的可能性就会降低
在使用工具去查找问题之前请一定要把自己的代码整理一下。最近对内存泄露问题使用工具没有查出,也确定没有内存泄露,原因是以前为调试代码,自己把客户端发过来的请求给放到一个vector中备份,后来给忘记了,在服务端退出时会清除内存,但运行时内存一直在增加,当发现是这个问题引起的假内存泄露时我心都碎了!!!
缺陷:设计与需求不相符
bug:程序与功能不一致
获取,定位,重现,减少:bug的四步骤
思路问题,几个月之后你看你的逻辑感觉怎样
assert的使用,尽量使用:函数的入口与出口处断言
log是逻辑问题的最终方法:关键地方输出你的关键信息
pdb文件:
release版本的带一些调试信息,优化等级
map文件的使用,与pdb的区别如何???
好的思想
逻辑不清楚的人产生的bug越难,问题的关键是设计与逻辑
单元测试才是程序员的可靠方案
迭代的开发模式
程序的单入单出,函数功能的单一化
有调试信息的版本,发给用户,来使用
log是十分重要的工具,查找疑难问题的终极工具
预防比调试重要
不使用assert的代码中不合格的,人也是不称职的!!!
学习,积累,实践
相关文章推荐
- vim 命令整理(从FreePlane的mm格式导出)
- ASP.NET导出Excel或Word文件格式
- net控件中数据导到Excel的格式 首先,我们了解一下excel从web页面上导出的原理。当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认的格式去呈现该cell的数据。这样就给我们提供了自定义数据格式的空间,当然我们必须使用excel支持的格式。下面就列出常用的一些格式: 1) 文本
- 【FPGA】Quartus导出.qxp格式的网表文件
- VS调试时JSON格式文件加载不了,含有cmd命令(可直接粘贴)
- jqgrid实现客户端导出Excel、txt、word、json等数据格式的文件
- EXE导出函数及def文件格式说明
- Android应用测试性能的工具Emmagee,导出文件格式问题分析
- java web将数据导出为Excel格式文件代码片段
- 关于poi导出大数据量EXCEL导出缓慢的解决方案--生成xml格式的表格文件(注意xls格式为03 07下格式会不一样)
- asp.net中通过html格式导出excel文件
- jsp导出excel文件并设定单元格格式
- winform 中 将listview数据 以excel格式导出 保存在可选择的文件夹下 但文件打开的时候有问题
- 导出下载csv格式的表格(逗号分隔文件)的servlet代码,留待以后调用
- 多线程导出大规模excel文件
- 使用PHPExcel导入导出excel格式文件
- (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
- 如何利用eclipse和一些调试技巧来找到程序错误所在和从模拟器里面导出文件或者导入文件等
- WinDbg调试DMP格式文件
- QuickReport 3.0的导出文件 *.qrp 如何用代码的方式保存成图片格式