注重用于调试的代码

正常情况下,我们用以调试的代码,大概都会加上一个编译条件,这样避免在生产环境中产生不必要的性能损耗等

还有一种情况,就是我们也需要将一部分类似的代码,在正式发布版本前,在Release下进行使用,通常情况下是以特定的功能或者log的方式进行输出

这些代码也许对于程序本身是没有用的,但是却能很快的帮助我们定位问题所在。

比如,大量数据中的一个数据异常,如果在debug下定位可能会非常的慢,如果有了log或者有了特定功能,让我们能够通过可视化的形式去定位数据异常的位置,那么调试就会事半功倍

再比如,在图形化界面中,大量的模型中的一个出现问题。如果有了特定功能,我们可以直接在Release下定位该模型的信息,比如id,比如坐标等,在debug下增加一个条件,即可只关注这一个问题

再比如,在流程化、模块化的开发环境中,表面出现问题的地方可能距离真正的bug位置很远,这个时候有了log,按照流程,每个开发保证下自己的数据正常,即可很快定位问题所在

时间: 2024-10-14 02:14:55

注重用于调试的代码的相关文章

在Linux下调试Python代码的各种方法

这是一个我用于调试或分析工具概述,不一定是完整全面,如果你知道更好的工具,请在评论处标记. 日志 是的,的确,不得不强调足够的日志记录对应用程序是多么的重要.您应该记录重要的东西,如果你的记录足够好的话,你可以从日志中找出问题从而节省大量的时间. 如果你曾经用print语句来调试代码现在停下吧,用logging.debug替代,开始可以慢慢来,以后完全禁用它... 追踪有时看到程序如何被执行会很有帮助.你可以使用IDE的调试共轭ngn一步一步的运行程序,但你需要知道你要找的是什么,否则这将会是一

远程debug调试java代码

远程debug调试java代码 日常环境和预发环境遇到问题时,可以用远程调试的方法本地打断点,在本地调试.生产环境由于网络隔离和系统稳定性考虑,不能进行远程代码调试. 整体过程是通过修改远程服务JAVA_OPTS参数,然后本地通过Eclipse或IDEA等工具调试. 下面简单介绍下理论. 理论 JPDA(Java Platform Debugger Architecture)是Java平台调试体系结构的缩写.由3个规范组成,分别是JVMTI(JVM Tool Interface),JDWP(Ja

Android调试系列—使用android studio调试smali代码

1.工具介绍 使用工具 android killer:用于反编译apk包,得到smali代码 android studio:调试smali代码工具,或者使用idea,android studio就是在idea的基础上修改的 smalidea-0.03.zip:  as插件,需要安装到android studio中 , 下载地址 模拟器或者或者真机:运行要调试的程序 样本:使用网络上的某apk程序,  下载地址 2.前期准备 2.1  手机或者模拟器安装应用 adb instll GGNdkTes

不得不说的谷歌开发者模式:谷歌调试模式调试js代码总结

谷歌浏览器对开发者来说是一个很好的工具,确实能给开发者提供很多的方便,这是工作一年多以来,一个感触.谷歌浏览器可以在前端跟踪值传递,就像我们使用myeclipse进行debug一样,谷歌浏览器提供了强大的功能,使得开发者可以在前端跟踪值传递. 只要安装了谷歌浏览器,我们就可以使用谷歌开发者模式进行代码的调试,按F12进入开发者模式. 1,首先我们来说一下谷歌浏览器的控制台console 进入谷歌开发者模式以后,我们点击console进入控制台,在这里,我们可以很方便的进行js代码的调试.通常情况

VS2010重编译OpenCV2.4.9 用于调试源代码

最近想自己编译一下OpenCV源代码,以用于调试时查看源代码运行情况. 参考网上一篇文章:<Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV> 进行配置,但是错误频频.现将配置过程进行梳理,以免大家跟我一样走太多的弯路. 1.工具 下载并安装这几个工具:CMake2.8.OpenCV2.4.9.VS2010 2.用CMake生成OpenCV2.4.9 的VS2010解决方案 基本按照文章<Win7x64+VS2012+OpenCV

【转】node.exe调试JavaScript代码

node.exe调试JavaScript代码 目的: Console.log可以打印一些信息,光有log还不够,当程序出现问题时通过log可以定位到错误位置,但是当我们想查看错误现场的变量时,log就无能为力了,一般情况下我们不会把所有的变量都打印出来.此时就需要断点的功能了,在程序里边打上断点,直接定位到错误位置,分析错误现场确认错误原因. 三种模式: nodejs内部提供一个debug机制,可以让程序进入debug模式,供开发者一步一步分析代码发现问题. 共有3中启动参数可以让程序进入deb

调试漏洞代码第二章

0x01 修改int的值 process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=" alt="调试漏洞代码第二章" /> 用字符串末尾的null字符,覆盖判断逻辑返回的int的值. 最后成功如图: 0x02 覆盖返回地址的值 这里是跳转到了错误的0x61616161 直接跳转到输出

Tomcat使用MyEclipse远程调试Java代码配置详解

Tomcat使用MyEclipse远程调试Java代码总结如下:在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下: 第一步.配置tomcat一.在windows系统中:打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行:set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket

ASP.NET—000:调试JS代码

ASP.ENT开发调试页面JS代码相信即使是菜鸟也会,不过我还是要啰嗦一下步骤.因为在页面使用JS太频繁了,而且也太容易出问题了.即使是高手在页面上写长篇的JS代码,也难免有bug出现,出了bug也只能乖乖调试.ASP.NET开发中,后台调试代码就不说了,直接代码行打断点就好了.前台就有点费事了.前期准备工作,一般分两种情况.一种是在工程中直接运行调试,譬如Visual studio2010以及以上的直接在vs里找到相应的页面直接运行就好了.另一种是部署到IIS上了,那么就得打开应用的页面,然后