zoukankan      html  css  js  c++  java
  • Linux Debug tools

    1. gdb attach [pid] -- debug a running process

    2. valgrind-- a suite of tools for debugging and profiling programs

    Very powerful tool to debug linux program,just for x86 platform

    3. strace -trace system calls and signals

    In the simplest case strace runs thespecified command until it exits.  It intercepts  and records  the system calls which are called by a process and the signalswhich are received by a process.  The name of each system call, itsarguments and its return value are printed on standard error or to the file specifiedwith the -o option.

    4. pstack -print a stack trace of a running process

    It's often used to check the stack of hungprocess.

    5. mtrace, muntrace - malloc debugging

    The  function  mtrace() installs  handlers for malloc(), realloc() and free().  The functionmuntrace() disables these handlers.
    The environment variable MALLOC_TRACE defines a file where mtrace() writes itsoutput.  This  file  must be writable to the user or mtrace()will do nothing.  If the file is not empty it will be truncated.

    Usage: call the two function before andafter the code you want to pay attention on.

    6. dmesg -print or control the kernel ring buffer

    Check the error message of all kind ofprogram, especail for third-party program.

    7. binutils-- a tools set

    * ld - the GNU linker.

    * as - the GNU assembler.

    * addr2line - Converts addresses intofilenames and line numbers.

    * ar - A utility for creating, modifyingand extracting from archives.

    * c+filt - Filter to demangle encoded C+symbols.

    * gprof - Displays profiling information.

    * nlmconv - Converts object code into anNLM.

    * nm - Lists symbols from object files.

    * objcopy - Copys and translates objectfiles.

    * objdump - Displays information fromobject files.

    * ranlib - Generates an index to thecontents of an archive.

    * readelf - Displays information from anyELF format object file.

    * size - Lists the section sizes of anobject or archive file.

    * strings - Lists printable strings fromfiles.

    * strip - Discards symbols.

    * windres - A compiler for Windows resourcefiles.

    8. ldd -print shared library dependencies

    9. ld.so, ld-linux.so* - dynamic linker/loader

    ---------------------------------------------------

    10.lsof -list open files

    Very useful to check if fd leak.

    11. netstat  -  Print network connections, routing tables, interfacestatistics, masquerade connections, and multicast memberships

    12. iostat  -  Report  Central  Processing Unit (CPU) statisticsand input/output statistics for devices and partitions.

    13. vmstat -Report virtual memory statistics

    14. time - time a simple command or give resource usage. System time depend on system status, User time is the real time of your program used.

    注:因经验有限,大体就知道这些。欢迎各位补充。


    作者:zhenjing.chen 
    出处:http://www.cnblogs.com/zhenjing/ 
    未注明转载的文章,版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    算法导论--第七章、快速排序
    PS操作
    【字符编码】彻底理解字符编码
    HTML网页设计-代码效果记录
    Ubuntu 18.04 nvidia driver 390.48 安装 TensorFlow 1.12.0 和 PyTorch 1.0.0 详细教程
    cmake更新版本简记
    计算机图形学(二)——微表面模型
    计算机图形学(一)——辐照度学概述
    蒙特卡洛积分与重要性采样详解
    for循环提高内存访问效率的做法
  • 原文地址:https://www.cnblogs.com/xumaojun/p/8533122.html
Copyright © 2011-2022 走看看