应用程序调试技术作者:(美)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
这是在名为的课程中使用的样板。
里面是什么?这个项目使用很多东西:入门首先,运行开发服务器:npmrundev#oryarndev使用浏览器打开以查看结果。
您可以通过修改pages/index.js来开始编辑页面。
当您编辑文件时,页面会自动更新。
指令dev:在localhost:3000上运行您的应用程序build:创建生产版本start:使用构建生产代码启动一个简单的服务器lint:在所有组件和页面中运行linttest:运行笑话来测试所有组件和页面test:watch:在手表模式下开玩笑storybook:在localhos
2023/9/30 14:19:43 308KB boilerplate babel typescript styled-components
1
webapp模板使用Webpack5,ReScript,TypeScript和React的Web应用程序模板。
该模板适用于认为create-react-app过于复杂的极简主义者。
该示例程序是用ReScript和TypeScript编写的,以进行解释,但是您只能使用其中之一。
生产方式$yarnre:build$yarnbuild开发模式$yarnre:watch$yarnstart
2023/8/18 12:54:58 100KB JavaScript
1
React组件库发布入门入门克隆项目:gitclonegit@github.com:garmeeh/lerna-starter.git安装项目:npminstall运行npmrunstart运行npmrunstart将:1.)旋转故事书。
然后,您可以导航到,您将能够看到Storybook中展示的示例软件包。
2.)将在监视模式下运行构建脚本。
这意味着将在“故事书”中构建并更新在“packages”文件夹中进行的所有更改。
出版要构建和发布软件包,您只需要运行:npmrunpublish-packages(您需要登录到npm)这将运行构建脚本,然后发布您的软件包。
当前设置为单独发布每个程序包,以使其版本独立。
您可以在找到完整的发布选项,以便根据本人的实际需求进行调整。
但是对于大多数情况,当前的设置就足够了。
测验该项目带有为您设置的和。
要运行所有测试并生成覆盖率报告,只需运行:npmruntest在开发过程中,您还可以通过运行以下命令以监视方式运行测试:npmruntest:watch导出静
2023/3/17 14:51:10 171KB react react-components lerna storybook
1
React型脚本样板建树$npminstall要么$docker/up剧本$npmrunstart:dev$npmrunbuild$npmrunbuild:dev$npmrunlint$npmrunfmt$npmruntest$npmruntest:watch$npmruntest:feature$npmrunstorybook$npmrunbuild-storybook要么$docker/npmrunstart:dev$docker/npmbash$docker/execwh
2023/1/25 10:42:24 153KB sass docker express typescript
1
无需重复的任务即可让Android设备处理它!从设置到SMS自动化的全面自动化使您的手机成为真正的智能手机!为什么要记住,当您出门在外时,您的手机可以帮您改变音量?根据您当天所在的应用,您的位置,您的Wi-Fi网络接收到的SMS或调用当前正在播放的歌曲以及许多其他(130+)状态和事件来自动执行操作!看看创建自动化有多么容易:https://www.youtube.com/watch?v=s6EAbLW5WSk操作350多种动作让您以史无前例的方式真正自定义手机!发送SMS创建通知几乎可以更改任何系统设置,例如Wifi系绳黑暗模式始终显示在屏幕上更改任何音量控件请勿打扰打
2019/1/16 19:40:03 5.75MB Tasker Pro
1
方便实现vue中对属性值的watch功能,在需求的页面引入,方便快捷
2020/3/12 8:40:36 1KB 微信小程序 属性监听
1
近年来可穿戴设备渐渐进入人们的视线,京东JDC也为给用户一个完整的体验加入到了探索的队伍中来。
谷歌与苹果的Watch设计理念基本相同,两个平台下我们面临相同的问题。
如何体现Watch平台自身重情景、极简、轻量的特点是我们设计过程中始终思考的问题。
如何在那么小的屏幕上做文章?放什么功能?如何使体验完整?用户主动使用场景:Watch可移植一些手机应用的功能,协助用户在合适的场景下使用这些功能。
如:公车上想看看中午买的东西到哪儿了,人太多且手机在公文包中不便于拿出,于是抬起手腕查了一下。
走在路上,忽然想起家里大米没有了,对着手腕上的watch说:“买一袋大米。
”watch推荐了三款大米:之前购买过的
2020/11/20 11:58:25 357KB 返璞归真JDWatchV1.0设计思考
1
cowatch.class.php简单PHP类,用于以毫秒为单位的时间对代码进行计时/基准测试。
它是在Linux上开发的,但我认为没有理由不能在其他平台上使用。
如果您的平台上的单元测试失败,请与我联系。
产品特点完成时自动向stdout报告代码执行时间。
为任何代码块计时,精度为ms。
为慢速代码(max_ms)添加触发器-允许在代码投入生产后轻松识别瓶颈。
很少的开销-在开始时记录时间并进行简单的计算即可获得运转时间。
用法$bench=newcowatch('Mycodeblock');for($i=0;$iend_watch(true);//Stoptimerandreportruntimetostdout有关示例代码,请参见run_unit_tests()。
可以从外壳运转类单元测试以进行快速演示:/usr/bin/phpcowatch.class.php
2022/9/4 23:46:39 3KB php benchmarking benchmark development
1
IPTV毛病处理案例本讲目录案例:组播画面停顿?现象描述:某用户家中的ONT配置两个机顶盒,当STB_1和STB_2分别从节目2切换到节目1和节目3时,经常出现画面停顿(时间2到3秒)?告警信息:打开debuggingigmp消息跟踪,有“Warning:?the?number?of?program?that?the?user?is?allowed?to?watch?has?reached?maximum”的消息。



OLTONTSTBSTB案例:组播画面停顿原因分析:STB从节目1切换到节目2时会发送节目1的离开报文和节目2的加入报文。
quick-leave-time?>5时,OLT收到节目1的离开报文会发送特定组查询,在0.5秒内没有收到响应才会删除节目1。
当OLT收到节目1的离开报文和节目2的加入报文的间隔终端—>MA5680T—>B
2019/1/10 6:54:34 1.05MB 三网融合
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡