应用程序调试技术作者:(美)JohnRobbins 译者:潘文林陈武目录结论第l部分调试概论第1章错误:问题出在那里,如何解决1.l错误及其调试1.1.l什么是错误1.1.2进程错误及其解决方案1.1.3制定调试计划1.2调试的先决条件1.2.l技能组合l.2.2学习技能组合1.3调试过程1.3.l第1步:复制错误1.3.2第2步:描述错误1.3.3第3步:始终假定错误是你自己的问题1.3.4第4步:分解并解决错误1.3.5第5步:进行有创见的思考1.3.6第6步:杠杆工具1.3.7第7步:开始繁重的调试工作1.3.8第8步:校验错误已被更正.1.3.9第9步:学习与交流1.3.10调试过程的决定性秘诀1.4小结第2章开始调试2.1跟踪变更直到项目结束2.1.l版本控制系统2.1.2错误跟踪系统2.1.3选择正确的系统2.2制定构建调试系统的进度表2.2.l用调试符来连编所有的构件2.2.2警告与错误同等重要2.2.3了解在何处装载DLL2.2.4设计发布构件的轻便诊断系统2.3日常连编和冒烟测试是必须遵循的2.3.l日常构件2.3.2冒烟测试2.4立即连编安装程序2.5QA必须对调试构件进行测试2.6小结第3章边编码边调试3.1注意声明3.1.l如何声明,声明什么3.l.2不同类型的VisualC+十和VisualBasic声明3.l.3SUPERASSERT3.2跟踪、跟踪、跟踪、再跟踪3.3注意注释3.4相信自己,但要校验(单元测试)3.5小结第II部分高效率的调试第4章调试器的工作原理4.1Windows调试器的类型4.1.1用户模式调试器4.1.2内核模式调试器4.2Windows2000操作系统为调试对象提供的支持4.2.1Windows2000堆阵检查4.2.2在调试器中自动启动4.2.3快速中断项4.3MinDBG:一个简单的Win32调试器4.4WDBG:真正的调试器4.4.l内存读写操作4.4.2断点和单步执行4.4.3符号表、符号引擎和堆栈遍历4.4.4StepInto、StepOver和StapOut功能4.4.5WDBG调试器的一个有趣的开发问题4.5如果需要编写自己的调试器4.6WDBG调试器之后是什么?4.7小结第5章使用Visual C+十调试器进行强有力的调试5.1高级断点及其用法5.1.l高级断点语法和位置断点5.1.2在任何函数上快速中断5.1.3在系统或输出的函数中设置断点5.1.4位置断点修饰符5.1.5全局表达式和条件断点5.1.6Windows消息断点5.2远程调试5.3技巧及窍门5.3.1设置断点5.3.2Watch窗口5.4小结第6章使用x86汇编语言和Visual C++调试器Disassembly窗口进行强有力的调试6.1CPU的基础知识6.1.l寄存器6.1.2指令格式和内存编址6.2关于VisualC+十内联汇编器6.3需要了解的指令6.3.1堆栈处理6.3.2最常用的几个简单指令6.3.3常见的序列:函数入口和出口6.3.4变量访问:全局变量、参数和局部变量6.3.5调用进程和返回指令6.4调用约定6.5需要了解的其他指令6.5.l数据处理6.5.2指针处理6.5.3比较和测试6.5.4条约和分文指令6.5.5循环6.5.6字符串处理6.6常见的汇编语言结构6.6.1FS寄存器访问6.6.2结构和类引用6.7完整的例子6.8Disassembly窗口6.8.1导航功能6.8.2在堆栈上查看参数6.8.3SetNextStatement命令6.8.4Memory窗口和Disassembly窗口6.9技巧和诀窍6.9.1Endians6.9.2垃圾代码6.9.3寄存器和Watch窗口6.9.4从ASM文件中学习6.10小结第7章使用VisualBasic调试器进行强
2023/10/7 11:13:46 9.92MB 应用程序调试技术
1
包括CPU,内存,RAM,ROM,摄像头等等
2023/10/5 19:24:41 1.42MB 硬件信息
1
对于vbvb.netc#或者c来说,单精度浮点数在内存中占用4个字节,本身就是以IEEE754的标准格式来存储的。
所以当我们需要用到的时候,其实并不需要自己去转换,直接以内存指针的方式,将内存中的数据以我们需要的方式读出来即可。
这里利用了API函数CopyMemory和varPtr函数,在VB中对IEEE754和single之间进行转换。
也可以用于vb.net等其他语言。
对于做modbus通讯的朋友会有帮助。
2023/10/5 15:17:46 7KB IEEE754 CopyMemory modbus
1
安国系列U盘通用修复工具,先确认U盘是否是安国系列,再确认U盘是否损坏(无法格式化,自动进入写保护等错误),下载解压资源,插入U盘,点击运行AlcorMP.exe,选择模式成品开卡,进入面板可以看到U盘显示,点击,然后等待完成即可,注意修复之后U盘内存会缩减。
2023/10/5 9:38:11 8.08MB U盘修复工具
1
C#爬虫现在爬到的是数据库是sqlserver2014,数据库表结构在\WeChatTest\App_Data\DB_QiuBaiHappy.txt大致流程1.将想要抓取的页面读取到内存2.加载页面3.有分页的读取分页标签,查询一共有多少页(XPath)4.组合分页URL5.抓取当前页的内容(XPath)6.保存到数据库7.微信小程序调用数据读取接口,显示抓取到的内容
2023/10/4 12:22:20 66.15MB JavaScript
1
C#新中新DKQ-116D二次开发代码,适合C#开发Winform、Webform二次开发,同时解决了身份证图片问题,尝试读取或写入内存,试图加载格式不正确等一系列问题。
2023/10/3 2:06:14 1012KB DKQ-116D
1
给大家分享一个我写的用FPGA实现的实时连通区识别源代码。
具体介绍请看下文。
源代码附件里有,或者给我发邮件索取此算法的特点是:1)仅用一片低端FPGA即可实现,无需外接任何存储器。
用Xilinx的LX25就能装下,大概只用了十几个块RAM,其余的逻辑也不多。
2)实时性高,延时固定且很小。
由于该方法进行的是并行流水线处理,即对图像扫描一遍就可完成对所有连通区域的识别,因此识别每个连通区域的延时都是固定的,并不会因为图像中连通区域多,延时就增加。
该延时也很小,约扫描十几行图像的时间。
其实该算法用嵌入式cpu或dsp也可以实现,也可以做到消耗内存少,延时小。
3)能同时给出连通区域的各种统计信息。
该方法在识别出连通区域的同时还能给出该连通区域的面积、周长、外切矩形中心点坐标等统计信息。
还可以统计出该连通区内某特定颜色的点有多少个之类的信息。
4)可靠性高。
对一些特殊形状的连通区,例如U型W型等,都能识别并给出正确的统计信息。
2023/10/2 11:07:01 559KB 连通区识别
1
该项目基于arm开发板。
运用了linux的多线程,多进程,arm的LCD屏幕的图片显示和触摸屏控制功能,使用了madplay进行音频播放。
该系统运行时会生成一条进程读取触摸屏的x,y和压力值数据,存储到共享内存里面。
进入系统时会显示一个主界面,通过读取共享内存的x,y数据检测到用户点击了钢琴图标后进入钢琴界面,点击钢琴琴键时,会播放该琴键对应的琴音,由于开发板限制无法一次播放多个音频文件,所以在点击下一个琴键时,会使用命令终止其他音频文件的播放。
该程序还可以通过点击钢琴界面的按钮调整钢琴声音的大小。
并支持滑动弹奏。
2023/10/2 10:20:30 377KB 电子钢琴 linux arm
1
辣鸡网站怎么把资源都涨价到35了,改回来谷歌机翻+个人修正的usermanul,感兴趣可以看看目录Initializingthedriver62DW1000的概述132.1简介132.2连接到DW1000132.2.1SPI接口13.2.1.1SPI工作模式132.2.2中断162.2.3通用I/O172.2.4SYNC引脚172.3DW1000操作状态172.3.1状态图172.3.2主要运行状态概述172.4上电复位(POR)192.5上电时的默认配置212.5.3默认发射机配置T222.5.4默认接收器配置222.5.5应该修改的默认配置233消息传输263.1基本传输263.2传输时间戳273.3延迟传输283.4扩展长度数据帧293.5高速传输303.5.1TX缓冲区偏移索引303.5.2发送或接收TX缓冲区时写入314讯息接收334.1基本接收334.1.1前导码检测334.1.2前导码累积344.1.3SFD检测354.1.4PHR解调354.1.5数据解调354.1.6RX消息时间戳364.2延迟接收364.3双接收缓冲器374.3.1启用双缓冲操作374.3.2控制正在访问哪个缓冲区374.3.3双缓冲的操作384.3.4使用双缓冲时的TRXOFF404.3.5超限404.4低功耗侦听414.4.1配置低功率监听424.5低功耗SNIFF模式424.5低功耗SNIFF模式434.5.1SNIFF模式434.5.2低占空比SNIFF模式444.7.1估算第一条路径的信号功率454.7.2估算接收信号功率465MediaAccessControl(MAC)hardwarefeatures475.1循环冗余校验475.2帧过滤475.2.1帧过滤规则485.2.2帧过滤注意事项495.3自动确认495.3.2自动接收器重新启用515.3.3自动ACK周转时间515.3.4帧挂起位FramePendingbit515.3.5主机通知515.4发送并自动等待响应526DW1000的其他功能526.1外部同步526.1.1一次性时基复位(OSTR)模式526.1.2单发发送同步(OSTS)模式536.1.3一次接收同步(OSRS)模式536.2外部功率放大556.3使用片上OTP存储器556.3.1OTP存储器映射556.3.2将值编程到OTP存储器中576.3.3从OTP内存中读取一个值586.4测量IC温度和电压5810附录1:IEEE802.15.4UWB物理层5910.1框架结构概述5910.2数据调制方案5910.3同步头调制方案6010.4PHY头6110.5UWB信道和前导码6210.6标准的其他细节6211附录2:IEEE802.15.4MAC层6211.1一般MAC消息格式6311.2MAC报头中的帧控制字段6311.2.1帧类型字段Frametypefield6411.2.2启用安全性字段SecurityenabledField6411.2.3帧未决字段Framependingfield6411.2.4确认请求字段Acknowledgementrequestfield6511.2.5PANID压缩字段PANIDcompressionfield6511.2.6目标寻址模式字段Destinationaddressingmodefield6511.2.7帧版本字段Frameversionfield6611.2.8源寻址模式字段Sourceaddressingmodefield6611.3序号字段TheSequenceNumberfield6611.4DW1000中的MAC级处理66
2023/10/2 6:23:34 3.91MB DW1000 USER MANUL
1
CactiE10.1主机模板共10个模板:包括:1.apc_smart_ups主机模板2.h3c_ar2811路由器主机模板3.h3cs2000系列交换机主机模板4.惠普网络打印机snmp主机模板-可监控墨量5.华为s2300/s2700/S3700等盒式交换机主机模板-可监控Cpu、内存、光功率,流量等6.华为s7703交换机主机模板7.华为s9000交换机主机模板08.非snmp主机模板09.三元达wpb5000主机模板10.windows主机模板11.huawei-s5700主机模板12.ucdnet_snmp_host主机模板13.路由器14.海康威视硬盘录像机主机模板15.中兴zxr2609交换机主机模板直接导入即可使用
2023/10/1 21:44:09 314KB CactiE
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡