令人惊奇的gdb和pstack】的更多相关文章

pstack竟然是一个shell脚本,核心是调用gdb的thread apply all bt查看进程的所有线程的堆栈,之后用sed正则展示线程堆栈信息. /proc/pid/exe是一个指向可执行文件的软连接. #!/bin/sh if test $# -ne 1; then     echo "Usage: `basename $0 .sh` <process-id>" 1>&2     exit 1 fi if test ! -r /proc/$1; t…
编者按 作为一名儿童肿瘤学家,工作中充满了挑战与机遇.近几十年来,世界各地的儿童肿瘤的发病率呈持续上升的趋势.许多人认为这不仅是由于诊断水平的提高,而且是因为儿童肿瘤的潜在风险也确实在增加.据英国儿童肿瘤研究统计结果显示,全世界每年有超过17.5万名儿童患上癌症,每年的死亡人数约为9.6万人[1].新药的使用.给药系统的改进和临床试验计划驱动的治疗使得肿瘤治疗更为标准化,儿童肿瘤的预后已有所改善,但儿童肿瘤学仍然是一个充满研究机遇与挑战的领域. Julie D. Saba教授是奥克兰贝尼奥夫儿童…
pstack.sh: #! /bin/sh if [ -z $1 ] then echo "gdb script for print stack" echo "usage: $0 pid" exit fi gdb --batch --quiet -x cmds -p $1 cmds: echo /nProcess:/n info proc echo /nStack: thread apply all backtrace detach quit…
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://…
http://www.woiweb.net/50-amazing-jquery-plugins.html 多文件文件下载 免费的响应式bootstrap管理员后台界面主题 – Charisma http://www.gbtags.com/gb/share/632.htm 75个最佳Web设计资源 http://www.woiweb.net/top-75-best-design-resources-of-2008.html…
gdb thread apply all bt 如果你发现有那么几个栈停在 pthread_wait 或者类似调用上,大致就可以得出结论:就是它们几个儿女情长,耽误了整个进程. 注意gdb的版本要高于7.0,之前使用过gdb6.3调试多线程是不行的. 从上图可以看出两个线程都阻塞在wait上,而且还给出了在哪一行代码中,很容易就定位到产生死锁的位置. 有时候线程太多,想写到文件里,可以: (gdb)set logging file <文件名> (gdb)set logging on (gdb)…
gdb thread apply all bt 如果你发现有那么几个栈停在 pthread_wait 或者类似调用上,大致就可以得出结论:就是它们几个儿女情长,耽误了整个进程. 注意gdb的版本要高于7.0,之前使用过gdb6.3调试多线程是不行的. 从上图可以看出两个线程都阻塞在wait上,而且还给出了在哪一行代码中,很容易就定位到产生死锁的位置. 有时候线程太多,想写到文件里,可以: (gdb)set logging file <文件名> (gdb)set logging on (gdb)…
主要内容 C++17标准发布,string_view是标准新增的内容.这篇文章主要分析string_view的适用范围.注意事项,并分析string_view带来的性能提升,最后从gcc 8.2的libstdc++库源码级别分析性能提升的原因. 背景知识:静态字符串的处理 所谓静态字符串,就是编译时已经固定的字符串,他们存储在二进制文件的静态存储区,而且程序只能读取,不能改动. 一个例子: //指针指向静态字符串 const char* str_ptr = "this is a static s…
https://mp.weixin.qq.com/s/sGS-Kw18sDnGEMfQrbPbVw 内核futex的BUG导致程序hang死问题排查 原创: 王领先 58架构师 今天   近日,Hadoop的同学反映,新上的几台机器上的java程序出现hang死的现象,查看系统的message记录,发现一些内存方面的错误输出,怀疑是内存不足导致java程序hang死在gc的过程中.经排查发现即使是在内存充足的情况下也会出现程序hang死的现象. 我们又发现只有这批新上的机器才出现hang死的问题…
https://linuxtoy.org/archives.html Archives 在 Android 系统上安装 Debian Linux 与 R (2015-07-14) Pinos:实现摄像头共享 (2015-07-06) Firefox 40 Beta (2015-07-04) BookDrop: 通过 Dropbox 接收 Kindle 电子书 (2015-06-24) Linux Kernel 4.1 (2015-06-23) b2gdroid:在 Android 手机上一键切换…
作者:Antonio Leiva 时间:Dec 19, 2016 原文链接:https://antonioleiva.com/kotlin-integrations-android-sdk/ 使用Kotlin语言不仅仅简化你的代码,而且也可以简化从Kotlin调用Java代码. 这是怎样工作的?简单地使用一些通用结构就可以得到Kotlin的感觉. 在这篇文章中,你将看到一些例子,它是怎样提升相同代码.它也预防Java代码包含模板部分. Kotlin与Android SDK 集成 如Android…
对样式审查?很少人会这么做吧,但实际上开发者应该有这样的态度,尤其是不同团队多人开发时,这一点尤为重要. 在本文中,我将陈述两点:一是为什么我们需要对样式进行审查,二是如何将审查工具融合到整体的构建流程中(适用于 CSS,也适用于 Sass). 简介 什么是代码审查 代码审查是一个检查代码是否符合编程规范以及查找代码错误的过程,如果要做个比喻,那么它就是编程语言的拼写检查工具.代码审查可以帮助独立开发者更好的维护代码,但它更大的能力是帮助团队维护代码. 为什么我们需要审查样式 对样式进行审查的原…
提高ASP.net性能的十种方法 2014-10-24  空城66  摘自 博客园  阅 67  转 1 转藏到我的图书馆   微信分享:   今天无意中看了一篇关于提高ASP.NET性能的文章,个人感觉还不可以,整理了一下,分享给大家.抛砖引玉,也希望高手们留下自己对提高性能上的高见!如果感觉有什么不对的观点还望见谅,多多指教. 一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,…
9月15日,Angular 2 的最终版正式发布了. 作为 Angular 1 的全平台继任者 -- Angular 2 的最终版,意味着什么? 意味着稳定性已经得到了大范围用例的验证: 意味着已经针对产品化.文件尺寸和性能,进行了优化: 意味着已经可以借助预编译技术和内置的延迟加载机制了,这些可以确保能发布出最快.最小的应用,并且横跨浏览器.桌面和移动平台: 意味着为开发人员准备的 Angular CLI 和风格指南得到了大幅增强. Angular 1 的发布为新兴的 Web 技术,解决了如何…
概述 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是纯粹的自由软件. Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体.1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二.但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs同样都是非常优秀的文本编辑器 发展历程 Vim是…
Web 开发并不是一项轻松的任务,有超级多服务端脚本语言提供给开发者,但是当前 PHP 因为具有额外的一些强大的功能而越来越流行.PHP 是最强大的服务端脚本语言之一,同时也是 web 开发者和设计者用的最多,最经常使用的语言. PHP 有非常多的工具,其中包括测试和优化工具,文档工具,代码编辑器,安全工具,同时也支持框架和在线工具.这就是为什么在那么短的时间内吸引了那么的开发者使用它.工具总是能帮助简化和加速开发的过程. 今天我们主要是围绕最受开发者们欢迎的前 8 个 PHP 的调试工具.调试…
一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量. 如果用动态的SQL语句来返回多个数据集,那用存储过程来替代动态的SQL语句会更好些.是否把业务逻辑写到存储过程中,这个有点争议.但是我认为,把业务逻辑写到存储过程里面可以限制返回结果集的大小,减小网络数据的流量,在逻辑层也不用在过滤数据,这是…
高效率移动 在插入模式之外 基本上来说,你应该尽可能少的呆在插入模式里面,因为在插入模式里面VIM就像一个“哑巴”编辑器一样.很多新手都会一直呆在插入模式里面,因为这样易于使用.但VIM的强大之处在于他的命令行模式!你会发现,在你越来越了解VIM之后,你就会花越来越少的时间使用插入模式了. 使用 h,j,k,l 使用VIM高效率编辑的第一步,就是放弃使用箭头键.使用VIM,你就不用频繁的在箭头键和字母键之间移来移去了,这会节省你很多时间.当你在命令模式时,你可以用h,j,k,l来分别实现左,下,…
Angular2正式版发布 9月15日,Angular 2 的最终版正式发布了.作为 Angular 1 的全平台继任者 -- Angular 2 的最终版,意味着什么? 意味着稳定性已经得到了大范围用例的验证: 意味着已经针对产品化.文件尺寸和性能,进行了优化: 意味着已经可以借助预编译技术和内置的延迟加载机制了,这些可以确保能发布出最快.最小的应用,并且横跨浏览器.桌面和移动平台: 意味着为开发人员准备的 Angular CLI 和风格指南得到了大幅增强. Angular 1 的发布为新兴的…
现在市面上有大量的JavaScript数据表格控件,包括开源的第三方的和自产自销的.可以说Wijmo的Flexgrid是目前适应Angular 2的最好的表格控件. Angular 2数据表格基本要求: 更小.更快.更熟悉. 为了使用Angular 2表格,首先你需要了解表格的基本要求.FlexGrid开始于1996年,当时使用C++为Visual Basic编写的控件.多年来,它不断进化并在多个平台得到完善,尤其是JavaScript平台.FlexGrid 因为Flex的理念而命名,控件应当包…
CodePen 是一个在线的 HTML.CSS 和 JavaScript 代码编辑器,能够编写代码并即时预览效果.你在上面可以在线展示自己的作品,也可以看到其他人在网页中实现的各种令人惊奇的效果. 今天这篇文章就为大家挑选出8个超炫的 Web 效果演示,这些 Demo 可以说都是艺术品,让小伙伴们都惊呆了!(为保证最佳的效果,请在 Chrome.Firefox 和 Safari 等现代浏览器中浏览) 您可能感兴趣的相关文章 使用 CSS3 实现超炫的 Loading 动画效果 精选12款优秀 j…
理解Method Swizzling是学习runtime机制的一个很好的机会.在此不多做整理,仅翻译由Mattt Thompson发表于nshipster的Method Swizzling一文. Method Swizzling是改变一个selector的实际实现的技术.通过这一技术,我们可以在运行时通过修改类的分发表中selector对应的函数,来修改方法的实现. 例如,我们想跟踪在程序中每一个view controller展示给用户的次数:当然,我们可以在每个view controller的…
转自:http://blog.csdn.net/bingqingsuimeng/article/details/9405743 作为一名程序员,如果说沉迷一门编程语言算作一种乐趣的话,那么与此同时反过来去黑一门编程语言就是这种乐趣的升华.今天我们就来黑一把C语言,好好展示一下这门经典语言令人抓狂的一面. 我们知道,全局变量是C语言语法和语义中一个很重要的知识点,首先它的存在意义需要从三个不同角度去理解:对于程序员来说,它是一个记录内容的变量(variable):对于编译/链接器来说,它是一个需要…
0序 随着移动互联和大数据的拓展越发觉得算法以及模型在设计和开发中的重要性.不管是现在接触比较多的安全产品还是大互联网公司经常提到的人工智能产品(甚至人类2045的的智能拐点时代).都基于算法及建模来处理.     常见的词汇:机器学习.数据建模.关联分析.算法优化等等,而这些种种又都是基于规律的深度开发(也难怪道德经的首篇就提出道可道非常道,名可名非常名的说法),不管是线性还是非线性,总之存在关联关系,而我们最好理解的就是线性关系,简单的用个函数就能解决.比如我们生活中应用的比较的归纳总结,其…
最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我初入职场的时候,类似于 Vector 与 Array 的区别.HashMap 与 Hashtable 的区别是最流行的问题,只需要记住它们,就能在面试中获得更好的机会,但这种情形已经不复存在.如今,你将会被问到许多 Java 程序员都没有看过的领域,如 NIO,…
又到了一年一度,翘首期盼的ActiveReports11 即将发布,ActiveReports 10 表控件横空出世,成为中国式复杂报表的救星后,ActiveReports11 又会有哪些令人惊奇的新功能特性呢? 今天我们就来预览ActiveReports11的新特性,是否更加方便快捷的帮助您开发复合需求的报表系统 使用ActiveReports 导入Excel报表模板 在开发现代化业务系统之前,大部分企业都使用Excel作为数据管理资源,所以为了节省您将系统迁移到AR 中创建和开发报表的时间,…
一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量. 如果你是用动态的SQL语句来返回多个数据集,那我建议你用存储过程来替代动态的SQL语句.是否把业务逻辑写到存储过程中,这个有点争议.但是我认为,把业务逻辑写到存储过程里面可以限制返回结果集的大小,减小网络数据的流量,在逻辑层也不用在过滤数据,…
JVM 平台上的各种语言的开发指南 为什么我们需要如此多的JVM语言? 在2013年你可以有50中JVM语言的选择来用于你的下一个项目.尽管你可以说出一大打的名字,你会准备为你的下一个项目选择一种新的JVM语言么? 如今借助来自像Xtext和ANTLR这样的工具的支持,创建一种新的语言比以前容易多了.个体编码者和群体受突破和改进现存JVM语言,以及传统Java的限制和缺陷的驱使,让许多新的JVM语言应运而生. 新的JVM语言开发者感觉他们的工作室针对现存语言的产物——现存的语言提供了太过受限制的…
http://www.opengpu.org/forum.php?mod=viewthread&tid=965&extra=page%3D1 游戏引擎剖析(Game Engine Anatomy 101) 原文作者:Jake Simpson 译者: 向海 Email:GameWorldChina@myway.com 英文原版下载 :   <ignore_js_op> Game Engine Anatomy.pdf (711.1 KB, 下载次数: 274) 第1部分: 游戏引擎…
简介 为什么需要这个重新介绍呢?因为 JavaScript 已经完全可以被称为世界上被误解最严重的编程语言了.虽然它被当做玩具来用,但是藏在让人迷惑的简单表象下面的,是强大的语言特性.从2005年,一大批“高级”的JavaScript应用程序开始涌现,这表明对于任何网页开发人员来说,对 javascript 的深入认知已经成为一项相当重要的技能. 那么让我们先了解这个语言的历史.JavaScript是在1995年由Netscape的一位名为Brendan Eich的工程师创立,1996年初,首先…