调试bug的几种方法

guoyinglichong guoyinglichong     2022-10-21     357

关键词:

1、php中的dump,echo,exit
2、浏览器的f12
3、安装xdebug扩展(debugger调试器,profiler探查器,trace代码跟踪)
profile日志能记录函数的执行耗时和调用关系等信息,
trace日志,能够记录代码执行流程
包括时间索引,内存使用,内存增量,调用层级,函数名称,函数参数,
代码所在文件名,代码所在文件行等信息。
time index:时间索引
memory usage:内存使用
memory delta:内存增量(需要开启:show_mem_delta)
level:层级(调用关系,通过缩进呈现)
function name:函数名称
function parameters:函数参数(需要开启:collect_params)
filename:代码所在文件名
line number:代码所在文件行
另外:
->表示函数调用

=>表示函数返回值
Swoole服务启动时会生成2个Xdebug调试文件:
debugger:/opt/php/xdebug/trace.$xxx.xt(可以使用Geany查看,
配合列编辑功能,方便查看缩进层级)
profiler:/opt/php/xdebug/cachegrind.out.$pid(可以使用kcachegrind查看)
文件trace.$xxx.xt里记录了代码执行日志,包括函数调用,参数,返回值等信息
文件cachegrind.

linux查看日志的几种方法(代码片段)

linux查看日志的几种方法作为开发项目出了bug想要最快速定位到问题所在,查看日志是最好不过的了~(当然,也要习惯在业务关键点设置日志)。最常用查看日志方法:·实时日志:tail-fXXX.log·搜索关键字附近日志:cat-nfilename|grep"... 查看详情

html页面实现自动刷新的几种方法

...跳转到指定页面(登录注册之类)3.前端开发使用伪数据调试html页面(修改一些js的变量值,可以自动刷新效果)示例代码:1.页面自动刷新注:其中10指每隔10秒刷新一次页面.1<metahttp-equiv="refresh"content="10">2.跳转到指定页面1& 查看详情

kalilinux输入用户名及密码无法进入系统操作界面的几种解决方法

参考技术A首先要说明的是,这个bug是由于系统本身bug并且到笔者发布此文章的时候都未修复,故在这里提供几种方法给在学习kali操作系统或者同样是受到次bug影响的一些朋友。笔者在物理主机以及虚拟机都装有kali操作系统,并... 查看详情

开发测试调试问题的几种解决方案

  在用vue-cli开发vue项目时,需要现在本地服务器上开发、测试,然后当需要调用后端端口的时候,又需要先npmrunbuild打包,将打包后的dist文件夹下的文件再放到Tomcat服务器下,进行测试,这无疑是非常麻烦的,这里记录了我... 查看详情

intellijidea远程调试的几种方式(代码片段)

点击关注公众号,实用技术文章及时了解来源:blog.csdn.net/u014513883/article/details/53583495远程服务DEBUG模式启动远程服务以debug模式启动需要执行java命令时带上以下JVM参数java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport... 查看详情

pytest失败自动重跑的几种实现方法(代码片段)

一、写在前面pytest-repeat这个插件,可以帮助我们很好的解决自动化测试过程中的一些偶线性bug,但前提是,当前自动化脚本是独立的,不依赖任何其他脚本。个人觉得还是失败重运行的一种体现,就和TestNG是... 查看详情

使用office办公套装的几种方法

使用office办公套装的几种方法 查看详情

javascript页面刷新的几种方法

...他的都有明显的浏览器滚动条的出现。Javascript刷新页面的几种方法: 1histor 查看详情

筛选出奇偶数的几种方法

查看详情

pythonpython的几种httpget方法(代码片段)

查看详情

javamap初始化的几种方法

JavaMap初始化的几种方法_思念又何曾放过我的博客-CSDN博客_javamap初始化 查看详情

javamap初始化的几种方法

JavaMap初始化的几种方法_思念又何曾放过我的博客-CSDN博客_javamap初始化 查看详情

javascript刷新页面的几种方法:

Javascript刷新页面的几种方法:1history.go(0)2location.reload()3location=location4location.assign(location)5document.execCommand(‘Refresh‘)6window.navigate(location)7location.replace(location)8document.URL=locat 查看详情

kubernetes重启的几种方法

参考技术Akubernetes重启的几种方法方法1kubectlscaledeploymentXXXX--replicas=0-nnamespacekubectlscaledeploymentXXXX--replicas=1-nnamespace方法2kubectldeletepodpodname-nnamespace方法3kubectlgetpodpodname-nnamespace-oyaml|kubectlreplace--force-f-方法4Kubernetes1.15开始才有kubectlr... 查看详情

excel解析的几种实现方法

  查看详情

创建.net程序dump的几种姿势(代码片段)

当一个应用程序运行的有问题时,生成一个Dump文件来调试它可能会很有用。在Windows、Linux或Azure上有许多方法可以生成转储文件。Windows平台dotnet-dump(Windows)dotnet-dump全局工具[1]是一种收集和分析.NET核心应用程序Dump的方法。安... 查看详情

python中断多重循环的几种思路

...些技巧,大概的思路有:写成函数、利用笛卡尔积、利用调试。写成函数在Python中,函数运行到return这一句就会停止,因此可以利用这一特性,将功能写成函数,终止多重循环,例如defwork():foriinrange(10):forjinrange(10):ifi+j>5:returni... 查看详情

数组的几种常用方法

数组的几种常用方法////unshift()添加,将要给定的数值添加到数组的开头//vararr1=["王白菜","牛春","野老多"];// console.log(arr1.unshift("大脸","老安"));//5// console.log(arr1);// //["大脸","老安","王白菜","牛春","野老多"]//vararr=[1,2];//// arr.un 查看详情