当前位置:  技术问答>linux和unix

怎样调试CPU占用率100%的问题

    来源: 互联网  发布时间:2017-03-04

    本文导语:  我在嵌入式系统上开发,现在系统在运行某些操作后占用率100%,用top可以看到具体是哪个进程。但是该程序也很庞大,里面有诸多线程,而且重要的是这个程序并非由我们这边开发的,我们只是移植。我们有源代码,...

我在嵌入式系统上开发,现在系统在运行某些操作后占用率100%,用top可以看到具体是哪个进程。但是该程序也很庞大,里面有诸多线程,而且重要的是这个程序并非由我们这边开发的,我们只是移植。我们有源代码,但是要想完全看明白代码再去推理哪里出问题,估计一时很难搞定。
在这种情况下,各位有什么好的调试方法可以帮助快速定位到错误的程序位置?
我尝试用oprofile统计各函数的占用时间,但oprofile显示了最后大量CPU时间是耗在一个libc库的一个函数中,而根据此函数倒推到底是哪个函数也相当麻烦,所以此法似乎难以实行。

|
程序出现死循环了?

pstack看下每一个线程的调用堆栈,看下在在哪发生死循环。

|
试试systemtap和strace之类的工具,应该可以倒推出是哪个函数调用的那个函数。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • python之平台独立的调试工具winpdb介绍
  • 有调试经验的高手请进:调试程序如何生成core?如何调试core文件定位错误。
  • 如何使用linux下gdb来调试python程序
  • kdevelop开发 网络程序 如何调试? 如何调试服务器端的程序
  • kgdb调试环境配好了,怎么调试内核阿?????
  • UNIX下可逐行调试的调试软件
  • 大家一般用什么调试器调试intell格式的汇编?
  • linux下用gdb调试程序感觉非常不方便,不知道大家使用的什么工具进行调试的呀?
  • ?:兄弟们,谈谈jsp的调试环境吧,谁有好的调试方法啊?
  • linux 新手散分贴 我要在linux下调试多个.c和.h文件的程序 怎么调试?
  • UNIX下C++可以用ddd来调试,请问bash shell程序有什么好的调试工具么??
  • 如何调试多线程的代码? 多何调试网络代码 服务器的和客户端的
  • 程序访问内存非法退出,调试core时,却发现#0 0x00000000 in ?? () ,奶奶的,已经加了调试信息了
  • gdb调试时命令行参数如何输入?比如main(int argc,char **argv)中,我要把一个filename作为argv[1]传入给gdb调试
  • linux gdb: 我在一台机器上编译的程序用GDB可以调试,把程序放到另外一台机器上调试,调试信息就没有了 这是什么原因呢?
  • 为什么JCreator Pro 2.00_007不能进行单步调试,Build菜单下单步调试的选项是灰色的???好痛苦。。
  • gdb调试如何跟踪进入另外一个包含文件的内部函数进行调试?
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • gdb调试,每次循环怎么运行到指定的断点处,而不是单步调试
  • 请问Linux下的C语言程序开发大家如何进行断点调试和单步调试?
  • 单机,调试内核时,无法进入调试状态,怎么回事?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3