• 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.

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

  • 相关阅读:
    APP性能之终端兼容优化分享
    Java反射机制
    语音编码的WAVE文件头格式剖析
    【原创】ASP.NET MVC3开发中遇到问题以及解决方法
    linux常用命令(基础)
    vue中粘贴板clipboard的使用方法
    解决部署zabbix中zabbixagent的状态为灰色现象
    IAR Embedded Workbench for ARM: Porting code from V4 to V5 ( for stm32)
    MSDN帮助文档 "无法显示该网页" 的问题解决方案(转)
    二叉排序树求每个结点平衡因子程序
  • 原文地址:https://www.cnblogs.com/spinsoft/p/3127951.html
Copyright © 2020-2023  润新知