zoukankan      html  css  js  c++  java
  • Linux Debug tools(转贴)

    2010-10-27 11:47 by zhenjing, 1400 阅读, 0 评论, 收藏, 编辑

    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.

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

  • 相关阅读:
    [sql]在case语句中不同情况下then的数据的数据类型不一致ORA-00932: inconsistent datatypes: expected NUMBER got CHAR
    环境迁移 小记
    linux下安装oracle遇到的问题
    正向代理与反向代理
    文件夹与SVN脱离关系
    shell 脚本中$$,$#,$?
    在MySQL中单列索引和联合索引的区别
    Java中Map、HashMap、LinkedHashMap、TreeMap的区别
    Error、Exception与RuntimeException的区别
    设计模式--单例模式
  • 原文地址:https://www.cnblogs.com/spinsoft/p/3127951.html
Copyright © 2011-2022 走看看