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.

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

  • 相关阅读:
    windows下 php5.3如何连接mssql
    ie 兼容性
    windows 版Tomcat 7.0的配置
    数据库备份
    PHP实现通过经纬度计算距离
    linux内核升级(ubuntu12.04从3.13.0升级到3.4.0 )
    详解Linux Initrd
    基于stm32的can总线彻底研究
    CAN控制器-配置过滤器
    recv send 阻塞和非阻塞
  • 原文地址:https://www.cnblogs.com/zhenjing/p/1862458.html
Copyright © 2011-2022 走看看