ASP。NET实战023程序异常排查攻略(bug排查思路)
在开发过程中程序出现异常是非常频繁的事情,比如需求表述、理解、编写引起的错误、系统设计架构引起的错误、开发过程缺乏有效的沟通及监督引起的错误、程序员编程中产生的错误、开发工具及项目开发环境配置引起的错误。这其中编程中产生的错误要属最多,如边界条件、判定条件、字符编码、接口调用等都可能引起错误。
BUG实例:
下面用个调用UG在线生成NC程式的功能实例演示,当在前端点击【提交】时向后台发送业务请求,后台接收到请求之后去调用接口启动UG生成新的NC文件并返回给前端。这里返回【提交】后返回错误信息:生成NC文件失败,这时候我们就需要通过排查来解决这个BUG了。
开发者工具
针对WEB项目我们要充分的利用好浏览器提供的开发者工具,通过F12调出开发者工具。由于不同的浏览器上该工具略有差异,所以其中包括但不限于以下几个功能模块:元素(Elements):用于查看、定位或修改HTML元素的属性、CSS属性、监听事件、断点控制台(Console):控制台可以执行一次性代码来查看JavaScript对象、查看调试日志与异常的信息源代码(Sources):查看页面的HTML文件源代码、JavaScript源代码、CSS源代码,可以给给JS代码添加断点来调试JavaScript源代码网络(Network):查看网络请求相关的信息,如Headers、Preview、Response、Cookies、Tining等网络连接相关的信息性能检测(Performance):记录与分析页面在运行时的所有活动,从而进行页面性能检测内存(Memory):用于查看页面内存的占用情况应用(Application):记录页面加载是的所有资源信息(Storage、Cookies、脚本、样式表)安全(Security):查看目标主机的安全问题审查(Audits):查看当前页面网络利用情况、网页性能方面的诊断并给出一些优化建议
获取异常状况
利用控制台(Console)和网络(Network)模块我们就可以查看到当前请求异常时对应的接口,控制台(Console)都是前端利用JavaScript来查看调试日志与异常的信息,网络(Network)主要检测到指向后端的服务器的是http请求。在发起请求之前打开开发者工具网络(Network),将原有的数据清除(避免干扰)再点击【提交】。Headers中我们可以查看当前请求的接口、方法和请求状态等信息,Response中可以查看请求响应的结果。
判断问题出处
这里请求状态成功说明前端已经成功将需求发送到了后端,只是后端在处理请求的时候出现异常返回了错误的信息这说明BUG出在了后端。如果此时请求状态异常那么我们可以利用Postman来模拟请求该接口,抛开前端的影响因素如果该接口还是返回异常说明问题依旧在后端,如果测试正常那么该问题就应该出在前端了。这里我们的异常在后台,我们可以通过Headers显示的路由找到对应的Controller和Action。
断点调试
VisualStudio代码调试功能很强大,支持断点(F9)、逐语句(F11)、逐过程(F10)进行代码调试,在需要暂停的位置设置断点,当程序执行到断点处会暂停,再按运行按钮就可以继续运行程序。通过断点逐过程逐语句配合可以快速的定位到问题所在的位置,这里是无法加载DLLEditCAMParameter。dll:找不到指定的模块。这样我们就进一步的定位到了具体的问题点,现在只要解决DLL加载问题就可以了。
DLL调用异常解决
打开调用DLL的接口函数和DLL源码发现调用参数不符,这是因为后期优化的时候给生成NC文件添加了后处理类型。WEB开发这边在调用DLL的时候是通过CMD命令窗口调用本地NCProjectUpdate。exe程序来间接调用DLL实现的,虽然在调用NCProjectUpdate。exe时添加了后处理参数,但是在真正调用createncprg接口的时候忘了修改了。
前端异常排查
如果是前端异常则可以利用开发者工具中的元素(Elements)快速定位元素所在页面,如果控制台(Console)有错误提示那就更简单了,提示会告诉你异常来自哪个文件的哪行。根据提示找到异常对应文件的位置再进行调试,可以利用Console。log在控制台(Console)输出结果来判断异常信息。如果前端是Vue可以参考文章【Vue实战077:组件数据传递异常问题排查解决全过程,新手查错指南】
总结:
BUG指系统应用上存在的缺陷或者安全隐患,会导致系统运行异常或者被攻击者在未授权的情况下访问导致数据泄露。修复BUG是程序员经常要面临的问题,如何快速高效的修复BUG也是程序员必修的课程。以上内容是小编给大家分享的【ASP。NET实战023:程序异常排查攻略(bug排查思路)】,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
什么原因导致比特币暴跌?最近几天我刚接触数字货币,个人认为,数字货币本身无可厚非,毕竟是时代的产物。确切的说,区块链技术是很值得推崇的,只是幕后黑手太多。比如说这几天的狗币,屎币,被那个所谓的带货大咖……
单反相机三脚架品牌排名?一、三脚架,稳定照相机的支撑物。一般消费者在购买数码相机的时候都往往忽视了三脚架的重要性,实际上照片拍摄往往都离不开三脚架的帮助,比如星轨拍摄、流水拍摄、夜景拍摄、微距拍摄等方……
关于今天红米note11Pro延续今天写的内容其实我之前发过,但是找不到在哪发的,我重新写一次,不喜勿喷,手打不易。的确一款手机的心脏是CPU,但作为使用者我们才是它的灵魂,用好一部手机其实也需要用点小心……
苹果或发布MiniLED重磅新品,产业链有望迎爆发式增长华为、小米灯此前已接连加码。今日重要性:据长江证券10月11日研报预测称,苹果或将在10月中下旬举行发布会,推出搭载M1X主控芯片、MiniLED背光显示屏的Macboo……
零售日记82022年2月16日星期三农历正月十六阴,北风四五级这两天一直在考虑在超市及便利店系统中,如何对实体门店和社区电商进行抱团取暖,并实现到家零售的营运目标。选择实体零……
戴尔4K显示器U2723QX上架90W反向充电IPSBlac今日,戴尔4K显示器U2723QX上架京东,采用IPSBlack屏幕,支持TypeC90W反向充电,预售价4399元,100元定金可抵500元,将于2月25日正式开售。我……
华为智选SKG智能颈椎按摩仪体验,随时随地呵护你的颈椎对于一名长期久坐办公的人而言,基本都会有个习惯性的动作,那就是会扭扭自己的脖子,以此来缓解脖子僵硬和酸痛。其实,当我们脖子有发热发胀、僵硬、酸痛、咔咔响的时候,就需要注意预防颈……
区块链周报伊朗解除比特币挖矿禁令,多个机构停止中国大陆服务财联社区块链日报(北京,记者董宇佳)讯,9月27日10月3日,区块链领域重要事件包括:政策方面,萨尔瓦多利用火山能源开采首个比特币,伊朗已解除今年5月开始实施的比特币挖矿禁令,……
RedmiG2021到底有多香?解析完你就知道了首发售价不用多说,6999拿到R75800H、最高130W且支持独显直连的RTX3060游戏本,不仅在当下很能打,放到整个2021年都是绝对的超低价。即使没有抢到首发,在……
标致508L新能源以价换量标致外观方面,新车采用家族化的设计语言,中网由点状式的镀铬质感十足,搭配两侧个性十足的大獠牙式大灯组,使其辨识度极强。车身侧面,新车侧面的线条十分优雅流畅,精致的多……
随身按摩必备,华为智慧生态,野小兽X华为随身筋膜枪Monic早些年筋膜枪还是专业治疗师为职业运动员按摩时才会使用的器械,随着近年来人们健身意识的增强,对于健身运动后放松也越来越重视,因此筋膜枪开始被更多人所认可。不过市面上的筋膜枪大多体……
三星在中国正式发布GalaxyS22系列来源:经济日报新闻客户端三星电子日前正式在中国发布新一代旗舰智能手机三星GalaxyS22系列,力争以前沿的影像技术和创新体验,帮助广大消费者更自由地记录生活之美。据介绍……