精华内容
下载资源
问答
  • linux查看日志定位bug
    千次阅读
    2021-11-14 22:21:56

    首先是查看日志的方法:

    Linux查看日志的命令有多种: tail、cat、tac、head、echo等

    1、tail

    命令格式: tail[必要参数][选择参数][文件]
    -f 循环读取
    -q 不显示处理信息
    -v 显示详细的处理信息
    -c<数目> 显示的字节数
    -n<行数> 显示行数
    -q, --quiet, --silent 从不输出给出文件名的首部
    -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

    2、head

    跟tail是相反的head是看前多少行日志

    head -n  10  test.log   查询日志文件中的头10行日志;
    head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

    3、cat

    cat 是由第一行到最后一行连续显示在屏幕上

    一次显示整个文件 :

     $ cat filename

    4、more

    more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。more命令从前向后读取文件,因此在启动时就加载整个文件。

    该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比

    5、sed

    这个命令可以查找日志文件特定的一段 , 根据时间的一个范围查询,可以按照行号和时间范围查询

    按照行号

    sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

    按照时间段

     sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

    6、less

    less与more类似,使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件。
    less log2013.log 查看文件
    ps -ef | less   ps查看进程信息并通过less分页显示
    history | less   查看命令历史使用记录并通过less分页显示
    less log2013.log log2014.log   浏览多个文件

    定位方法:一般来说异常都有这些词汇: "error" , "exception","failed",'invalid"等

    我们可以用查看日志的指令加上grep这些关键词定位到异常的地方,

    例如:

    cat -n test.log |grep "error" 

    cat -n test.log |grep "exception"

    更多相关内容
  • Linux服务器log日志查看,快速定位bug

    千次阅读 2022-02-09 14:39:31
    文章目录一、动态查看日志二、打开日志文件 一、动态查看日志 tail -f mylog.out tail -n 4 mylog.out 查询日志尾部最后4行的日志 head -n 4 catalina.out 查询日志文件中的前4行日志 [root@iZwz98qdx9tvkj6qz2yq90Z...

    一、动态查看日志

    tail -f mylog.out
    tail -n 4 mylog.out 查询日志尾部最后4行的日志
    head -n 4 catalina.out 查询日志文件中的前4行日志

    [root@iZwz98qdx9tvkj6qz2yq90Z panpan]# tail -n 4 mylog.out 
    30539        [1:07 17:47:11] INFO panpan:Edit Old Article:717892466-2022-1-07 17:47:11
    13230593        [1:07 17:47:15] INFO panpanSave Article ID IS:717892466
    13230595        717892466 article.getDisplayTime()1 = 2022-1-07 16:25:11
    13230596        717892466 article.getDisplayTime()2 = 2022-1-07 16:25:11
    
    

    二、打开日志文件

    1、cat mylog.out 从头打开日志文件

    代码如下(示例):

    [root@iZwz98qdx9tvkj6qz2yq90Z panpan]# cat -n  mylog.out 
         1	
         2	i
         3	my hello 
         4	pratices
         5	hard
         6	my work yeyye
         7	yes
         8	hahahha
         9	hahah 
        10	
        11	30539        [1:07 17:47:11] INFO panpan:Edit Old Article:717892466-2022-1-07 17:47:11
        12	13230593        [1:07 17:47:15] INFO panpanSave Article ID IS:717892466
        13	13230595        717892466 article.getDisplayTime()1 = 2022-1-07 16:25:11
        14	13230596        717892466 article.getDisplayTime()2 = 2022-1-07 16:25:11
    
    

    2、 cat -n mylog.out |grep hard >pan.txt 查找关键字信息并存放到新的文件中

    [root@iZwz98qdx9tvkj6qz2yq90Z panpan]# cat -n mylog.out |grep hard 
         5	hard
    [root@iZwz98qdx9tvkj6qz2yq90Z panpan]# cat -n mylog.out |grep hard >pan.txt
    [root@iZwz98qdx9tvkj6qz2yq90Z panpan]# ls
    mylog.out  pan.txt
    [root@iZwz98qdx9tvkj6qz2yq90Z panpan]# cat pan.txt 
         5	hard
    
    
    展开全文
  • 当项目中有异常,我么你只知道关键日志,要从服务器上一个老大的日志文件中找到那一行可以使用如下命令 cat app.log |grep -n "abc" 命令解释 cat app.log 打开app.log日志文件 | 管道符(意思是把上一个命令的...

    当项目中有异常,我么你只知道关键日志,要从服务器上一个老大的日志文件中找到那一行可以使用如下命令

    cat app.log |grep -n "abc"

    cat app.log 打开app.log日志文件

    | 管道符(意思是把上一个命令的内容用于下一个命令)

    grep -n "abc" 查找日志中带有 abc 字符的日志行,并输出行号

    运行结果

    找到行号后就好说了,通过下一条命令 直接输出当前行号下的日志

    tail -n +95866 app.log | head -n 100

    tail -n +95866 app.log  通过上一个命令找到的行开始,一直输出到文件结束
    然后通过 | 管道符,配合 head 命令,输出前一个命令 tail 后的100行日志

    运行结果:

    这样可以更快速更精准的定位到关键日志,而不是去打开日志文件来搜索,或者二次触发bug,来查看日志

    希望对您有帮助,谢谢 !!!

    展开全文
  • Web测试中定位bug方法

    千次阅读 2021-05-12 11:50:39
    在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应...bug定位常用工具Firefox——firebug、web developer、live http headers、http foxIE插件——httpwatch第三方工具——fiddler慢速网...

    在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,进一步了解这个BUG的问题出在那里,是测试人员需要掌握的,可以简单的使用浏览器自带开发者工具、数据库工具配合去排查。

    bug定位常用工具

    Firefox——firebug、web developer、live http headers、http fox

    IE插件——httpwatch

    第三方工具——fiddler

    慢速网模拟工具——firefox throttle

    前台错误

    前台的bug通常是功能、界面和兼容性等有关,涉及到jstl,jsp,js,css,html方面比较多。bug主要有两块,第一就是JS写的有问题,这个你可以按F12 打开控制台,在console中查看报错信息,一般浏览器都会显示报错的jS ,对于出错的js可以在Sources下查看对应报错的资源文件,基本上都会找到错误原因的变量未定义,参数未定义等,JS错误都很好解决的。

    第二个就是页面中的bug了,现在做web项目基本上没有做静态页面的都是动态了,所以你页面中要么使用了小脚本要么使用了EL表达式来存值。页面报错的话 在控制台是可以看到你错误行号和附近代码的,你自己去找就行了。

    图片不显示,谷歌浏览器右键点击图片,点击【检查】,(火狐浏览器右键点击【使用firebug查看元素】)在打开的控制台上找出图片的属性,输入到浏览器的地址内,如果能打开图片,那么不显示图片的问题就是后台的问题;如果浏览器内不能打开图片,那么就是前端的问题。

    开发者工具的使用(chrom浏览器)

    (1)打开开发者工具,在浏览器菜单栏选择工具-开发者工具,快捷键是F12

    (2)打开之后切换到Network页签,操作就可以看到请求响应

    (3)再选择响应的链接,切换到Preview页签,可以看到响应的结果数据;切换到Headers页签可以看到请求的地址,请求的方式,结果等信息

    (4)Response结果中可以看到返回的数据字段、值

    8dae1d08ee13d8bb9ace0321e6382e05.png

    84f2bd4bf71f3ae908453a7820a74f2e.png

    9023b837c08a0d87de64a4754669dcac.png

    可以根据响应的值判断一些bug所在

    (1)响应中没有数据,则是后端数据没有返回,前端展示为空,则为后端问题。例如:列表中新增一个数据,没有显示,通过请求中可以看到数据total为0,则是后端数据没有返回。

    (2)响应中有数据,但是前端显示错误了,可以根据字段值判断是否前端显示中取错了字段显示,可以判断是前端问题。例如:B端显示内容错误了,把登录用户名显示了登录帐号,则可以在响应中看数据是否返回正确,返回正确而显示错误,则有可能是前端绑定字段错误。

    (3)响应中有数据,但是跟自己操作的结果不一致,可以根据数据库查询,如果数据库中也没有记录,可能是代码有问题,没有记录你的操作。例如:注册了一个帐号,但是登录时提示帐号或密码错误,这就可以在数据库表中查看是否有注册的数据。

    后台错误

    根据后台日志文件查找错误

    后台涉及到servlet,jms,ejb,还有很多框架,struts,hibernate,spring,ibatis等。bug 比较难改,但是好找。主要就是看控制台报错,然后定位错误行号。如果配置文件没有问题,那么一般的报错就是空指针,或者是数组下标越界。看附近变量,看方法的参数基本上都可以定位错误了

    重启的一般情况:

    (1)热部署 (新增部分功能,或者修改部分bug) (2)发布新版本 (整个系统)(3)内存溢出,此时重启服务器即可

    由于项目中有线程程序,./shutdown脚本关闭tomcat程序,不能把启动的线程全部关闭,造成服务器启动线程未关闭的错误,所以

    Linux系统中重启Tomcat的一般步骤:(一般是先关闭进程,然后进行重启 ,如果 /要删除某个文件:rm 文件名,或者不为空的文件夹:rm -rf 文件夹名)

    cd usr/local/        //测试服务器名称/bin

    ps -exf            //看测试服务器下运行的项目的主进程(最前面的数字为PID进程号)

    kill -9 PID         //强制关闭某一项目的主进程

    ./startup.sh         // ./**.sh 即执行重启shell脚本文件 ,此时在测试服务器的bin下面,直接执行即可,其余的加上 chmod a+x shell脚本文件,也可用./执行

    (小知识:

    ps aux和ps -ef命令区别

    ps aux 是用BSD的格式来显示 java这个进程

    显示的项目有:USER,PID,%CPU,%MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMAND

    ps -ef 是用标准的格式显示java这个进程

    显示的项目有:UID,PID,PPID,C,STIME,TTY,TIME,CMD)

    如何查看日志

    一台服务器可以部署多个应用

    cd usr/local/测试服务器名称/logs   //查看先进入到服务器的logs目录下

    tail -f catalina.out          //监视catalina.out 文件的尾部内容(默认10行)

    日志中常见的问题

    获取日志文件中常遇到的问题:

    (1)编码问题:tomcat是新的,需要改编码修改tomcat的server.xml文件

    特别是windows下的项目重新部署到linux系统下,

    (2)空指针:程序问题,一般没有考虑到为空情况,或者主外键约束的数据为空,或者删除关联数据,导致为空

    (3)长度过长,超过最大长度,测试环境修改数据库字段长度后生产环境未修改,导致报错!!

    (4)非法数据

    (5)内存溢出:重启

    一般的问题原因总结

    程序:为空判断,增删改查,不同公众号调用的接口也不一样

    数据初始化:数据库表结构和数据初始化,权限配置,

    故障无法重现时:

    (1)看日志,根据日志定位原因,则在测试环境中按照日志提示构造条件相同的测试案例测试,尝试在测试环境中将问题重现。问开发

    (2)测试环境和配置与实际的工程环境和配置有哪些差异等等。同时主动与开发负责人、工程实施人员以及有经验的项目经理讨论,分析可能导致的原因。

    配置环境不一致导致

    测试环境ok,生产环境新增时保存失败,查看后台日志报长度溢出,数据库内容字段要求和生产环境不一致

    辅助工具:linux和SQL

    linux查看日志

    SQL用来筛选数据或直接进行数据修改状态,多用于集成测试过程中前后流程相连接

    jsp分不清前后台的,因为这里涉及到一个运行时刻的问题,它们的运行时刻是不同。用户发出请求后,服务器解析用户请求,转至对应的jsp,这个时候可以说是整个jsp都是后台程序。而Jsp做出响应后,把响应的内容返回给浏览器,这个时候浏览器就只看见html,css,javascript,这个时候所有的程序又都是前台程序。

    火狐浏览器的web控制台

    打开方式如下:菜单上点击【工具】

    cbe509b5398c646020532810c60640ad.png

    Web控制台页面显示

    5bc3adefe60307ae9d5f053eecbfe1e2.png

    谷歌浏览器开发者工具

    按F12打开,页面显示如下:

    b3b5507999ec2968a2155c4c427e5f1a.png

    Element标签:该标签使用来查看页面的HTML标签元素的,能够也就是查看源码,我们可以看到布局,可以看到用到的样式,还有用到的链接等等。

    console标签:这个就是一个web控制台,可以查看网页运行后提示的消息,错误或者警告以及输出内容等

    sources标签:这个是显示资源文件的,可以查看运行的脚本,调试一般都是在Sources调试的

    0f4428331843cb73469ed4a8f4af6930.png

    1.该选择框使用来选择资源的,当网页被加载的时候向服务器端请求出来的文件包括.html .ccs .js这样的文件。

    2.这个地方使用来调试js代码的地方,这个非常重要,看到行号上面有蓝色的标签,这个标签就是断电,当我们需要调试程序的时候打一个断电,然后通过3这个工具栏进行调试,那么调试过程就不详细解释,也就是打一个断电然后刷新页面程序会调到你打断点的地方,然后通过4来查看程序中变量的值什么的。

    3.中的标签,第一个是停止状态的按钮就是表示程序是否停止(在debug时),后面的是程序继续跳过方法,跳过下一个语句,调到上一个语句。

    Network标签:这个就是抓包常用的工具,可以看到网页加载的脚本和资源的时间,还可以看到某些不能加载成功的资源

    d1f0848d7b084cb426fe49a75169f1a6.png

    那么这个页面就是用于抓包的页面,我们需要分析页面的请求,比如模拟登陆什么的都需要去分析程序是怎么在后台执行的,接下来就,我们可以看到Headers(请求消息头) Preview(预览) Response(响应) Timing(请求时间)Cookie这些东西

    最上面还有一个工具栏,有一个红色的圆点和静止符号的按钮,那么这两个按钮,当为红色按钮的时候表示当前的请求不被清空(但是这里的请求是不跳转页面的请求,当跳转到新的页面,那么也会请求也会被清空),后面这个按钮就是清空请求的。

    下面还有一行工具栏,这个工具栏主要是用来选择和过滤请求消息的。

    再下面可以看到时间线,这个就是记录一个请求开始到结束的时间。

    注意:当你需要请求到另一个页面的时候都不清空你的请求的时候需要勾选上Preserve log,同时让红色按钮显示红色

    TimeLiness标签:这个就是请求时间

    展开全文
  • 软件开发中通过日志记录程序的运行情况是一个开发的好习惯,对于错误排查和系统运维都有很大帮助。 Python 标准库自带了强大的 logging 日志模块,在各种 python 模块中得到广泛应用。 一、简单使用 入门小案例 ...
  • 软件测试技能之查看log日志

    千次阅读 2021-05-12 11:50:42
    testkuaibao|软件测试自学公众号前言作为一名测试工程师,测试任务中和Linux打交道的地方有很多,比如查看日志定位bug、修改文件、部署环境等。产品部署在linux上,如果某个功能发生错误,就需要我们去排查出错的...
  • Linux查看日志定位问题

    千次阅读 2018-01-08 18:35:00
    1、定位错误关键字所在行数 cat -n test.log |grep "查找的错误关键字" 2、得到错误关键字所在行号(假设为第500行),查询错误关键字前后100行数据 cat -n test.log |tail -n +400|head -n 200 (表示从第...
  • linux查看日志

    2021-05-18 15:33:43
    很多初级测试人员,在进行执行测试用例这个步骤时,发现bug,不能更加的准确去定位bug,在这样的情况下就可以打开Linux服务器,敲命令查看操作进行中的实时日志,当系统报错时,可以截图日志在缺陷管理系统中,开发...
  • 日志
  • linux查看日志的几种方法

    万次阅读 多人点赞 2019-05-09 17:10:26
    作为开发项目出了bug想要最快速定位到问题所在,查看日志是最好不过的了~(当然,也要习惯在业务关键点设置日志)。 最常用查看日志方法: ·实时日志:tail -f XXX.log ·搜索关键字附近日志:cat -n filename | ...
  • 当服务器上运行的项目出现异常时,为了提高工作效率,快速定位问题(bug) 至关重要。查日志常用命令cat必须懂得。-- -n 显示行号 grep 查找关键字 -A 100 向后100行 -B 100 向前100行 -C 100 前后100行
  • 保证在定位日志时可以离开代码情镜还能看懂问题是什么。 在方法前加 @Transactional,抛出异常之后,事务会自动回滚,数据不会插入到数据库。 规范打印日志的格式 其中最重要的是接口和关键字,用于追踪定位 log....
  • 针对大量log日志快速定位错误地方 tail -f catalina.ou(动态查看日志) cat catalina.ou(从头打开日志文件) 可以使用 >nanjiangtest.txt 输出某个新日志查看 cat -n catalina.out |grep 717892466 >...
  • linux中怎么查看错误日志

    千次阅读 2021-05-11 22:44:59
    cat或者tail -f命令日 志 文 件 说 明/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一/var/log/secure 与安全相关的日志信息/var/log/maillog 与邮件相关的日志信息/var/log/cron ...
  • 第三周第四天复习bug定位linux命令加强复习bug定位发现bug定位流程看界面提示看前端日志抓包看请求和响应去服务器看日志数据库执行sql看界面提示看前端日志去哪看如果是web端打开F12看console看什么报错信息(1)...
  • Linux查看日志

    2021-05-12 16:24:55
    很多初级测试人员,在进行执行测试用例这个步骤时,发现bug,不能更加的准确去定位bug,在这样的情况下就可以打开Linux服务器,敲命令查看操作进行中的实时日志,当系统报错时,可以截图日志在缺陷管理系统中,开发...
  • tail 命令可用于查看文件的内容,参数 -f 查阅正在改变的日志文件 tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容,可以动态...
  • 学会通过fiddler等工具抓包分析BUG、通过日志定位BUG
  • Linux常用查看日志命令

    千次阅读 2020-12-25 11:06:37
    在日常开发任务中,查看线上日志是排查系统bug的重要途径之一,合理正确的使用命令能够快速的定位到问题所在行,更好的解决问题。 tail命令 tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在...
  • 4. 具备操作常规Linux命令,能否登入服务器查看Log日志,例如Tomcat等应用,不排除一些公司有对应的查看日志平台,例如K8S、Xlog,总之会查看对应服务打印的日志就行,这里日志等级输出具体可以百度 5. 了解系统的...
  • Linux线上日志排查

    2018-09-21 03:19:30
    但是由于日志本身比较大,所以需要用linux过滤日志定位报错误位置。常用的查看文本命令有less、cat、more、tail、grep、head等 more more基于vi编辑器,在启动时就加载整个文件 然后一页一页分屏显示,方便操作者...
  • 2.日志路径是在根目录下的 /opt 目录下的tomcatg下的logs下查看catalina.out文件即可!(具体要问开发或测试组长) 3.例: cd /opt/tomcat/.logs/catalina.out 下面是我们公司的日志路径: 二、....
  • 软件测试如何定位分析bug?

    千次阅读 多人点赞 2021-07-01 21:31:03
    首先遇到一个问题应该尝试自己独立去定位分析,自己去查找问题出现的原因,去定位是前端导致的bug还是后端原因导致的。 分析好原因之后,带上问题和截图找到指定开发去解决问题。 不同技术水平的测试人员,bu
  • 【测试】定位bug的思路和方法

    千次阅读 多人点赞 2021-05-14 20:59:30
    文章目录为什么定位问题如此重要?...原始类定位方法回溯法排除法2.2 查看状态码4xx状态码:5xx状态码:2.3 查看服务器日志2.4 检查配置2.5 查看需求文档2.6 向开发寻求可测性支持3)bug定位常用工具4)如何区
  • tail -n 10 test.log 查询日志尾部最后10行的日志; tail -n +10 test.log 查询10行之后的所有日志; tail -f test.log | grep -a '匹配的字段' 跟踪查询有匹配字段出现的日志。 head head -n 10 test.log 查询...
  • linux 常用命令 (查看缺陷日志必备)

    千次阅读 2020-12-29 23:23:09
    作为测试,在发现bug处理缺陷时,我们常常需要去查看消息队列,或者需要到xshell下~查看系统的日志文件,分析出bug出现的原因下面我整理出了linux的常用简单命令**备注linux为目录 1.txt和linux为文件名查看当前目录...
  • Mysql日志,是用来记录数据库所有增删改查操作的,测试人员可以利用该工具查看软件某功能执行的sql语句,看到sql语句操作的哪个数据仓库,哪个表,方便测试人员快速定位bug。 但Mysql日志,一般都是都是关闭的,因为...
  • 手把手实现Qt生成dump文件并定位BugLinux下)一、dump和pdb是什么二、搜集跨平台生成dump的方案三、基于qBreakpad生成dump文件1、Breakpad介绍2、源码准备(1)下载Breakpad源码(2)下载LSS源码(3)下载...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,218
精华内容 7,287
关键字:

linux查看日志定位bug