Debug 利器:pstack & strace】的更多相关文章

工作中难免会遇到各种各样的 bug,对于开发环境 or 测试环境的问题还好解决,可以使用 gdb 打断点或者在代码中埋点来定位异常; 但是遇到线上的 bug 就很难受了,由于生产环境不能随意替换.中断程序,如果日志中找不到问题原因,解决问题就会很棘手 这时候就需要请出这两位 debug 利器了 ---- pstack & strace 什么是 pstack pstack 是 Linux 系统下的一个命令行工具,此命令可以显示指定进程每个线程的堆栈快照,便于排查程序异常和性能评估 pstack 是…
gstack pstack strace 通过进程号 查看 进程的工作目录 Linux神器strace的使用方法及实践 - 知乎 https://zhuanlan.zhihu.com/p/180053751…
1) 如何使用strace+pstack利器分析程序性能? http://www.cnblogs.com/bangerlee/archive/2012/04/30/2476190.html 此文有详细介绍怎么用strace和pstack 2) Linux下多线程查看工具(pstree.ps.pstack)? http://blog.csdn.net/yfkiss/article/details/6729364 3) 使用strace,lstrace,truss来跟踪程序的运行过程 http://…
我是不喜欢用类似VC下的F5,F10.曾经很喜欢用.被代码逻辑逼的没招了.所以不喜欢用了. 比如,错误是根据动态数据,产生的行为错误,无论是该写的未写,还是不该写的写了.指针跑飞什么等等,无非就是上述两个错导致.但要找到具体原因,F5,F10根本不够.所以索引不用了. 这里介绍一下我现在的方法.不过注明这不是LOG. 一个头文件.大体如下: #ifndef _debug_H_ #define _debug_H_ #include <stdlib.h> #include <stdio.h&…
Bistoury介绍 Bistoury 是去哪儿网开源的一个对应用透明,无侵入的java应用诊断工具,用于提升开发人员的诊断效率和能力,可以让开发人员无需登录机器或修改系统,就可以从日志.内存.线程.类信息.调试.机器和系统属性等各个方面对应用进行诊断,提升开发人员诊断问题的效率和能力. Bistoury 集成了Alibaba开源的arthas和唯品会开源的vjtools,因此arthas和vjtools相关功能都可以在Bistoury中使用. Arthas和vjtools通过命令行或类似的方式…
目录 pstack gdb strace perf pstack 获取堆栈信息 问题线程的定位 负载较低 mysql_pid=4522 pstack $mysql_pid>pstack.info pt-pmp对堆栈信息排序 pt-pmp pstack.info | less 也可以直接执行pt-pmp pt-pmp --pid 4522 如 10 __io_getevents_0_4(libaio.so.1),LinuxAIOHandler::collect(os0file.cc:2502),L…
Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令. 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执…
# ansible配置文件配置 配置项介绍 , 配置文件ansible.cfg, 运行playbook时,默认时在yaml文件所在路径寻找,然后再去/etc/ansible/下寻找 [defaults] # 定义默认的hosts文件路径,支持相对路径 inventory = ./hosts # 定义默认扩展库路径,自定义的模块可以放这里 library = ./library #module_utils = /usr/share/my_module_utils/ # 默认的远端节点脚本复制过去后…
前言 程序员在坊间有非常多有趣的故事,其中就有这么一则:”这个在我的电脑上是好的,没问题的呀,诺,你看咯,一定是你打开姿势不正确,浏览器版本不正确,操作系统不统一等,总之不是我代码问题(傲娇)”.看到这里,有些朋友也许会笑,甚至拿着这些梗来调侃我们程序员兄弟.我是第一个不同意的,做技术的都知道,上面的回答一点毛病都没有,甚至称得上有理有据呀.就拿前端来说:编写的代码,在chrome浏览器上能完美呈现,在Firefox上就可能没那么完美,在Safari浏览器上就只能勉强显示了,在IE上就可能直接罢…
前言 whistle是基于Node实现的跨平台抓包调试代理工具,有以下基本功能: 查看HTTP.HTTPS请求响应内容 查看WebSocket.Socket收发的帧数据 设置请求hosts.上游http/socks代理 修改请求url.方法.头部.内容 修改响应状态码.头部.内容,并支持本地替换 修改WebSocket或Socket收发的帧数据 内置调试移动端页面的weinre和log 作为HTTP代理或反向代理 支持用Node编写插件扩展功能 具体功能如下: 一.安装启动 1.whistle安…