Debug Hacks——深入调试的技术和工具

《Debugs Hacks中文版——深入调试的技术和工具》这本书是Miracle Linux一些同事合作,主要关注Linux下的调试技术和工具。

本文章以此书为蓝本进行总结,进行适当的补充。

下面以Debug hacks地图将内容组织如下:

0. 通用技术

  objdump

  strace

  kprobes

  systemtap

  oprofile

  valgrind

  /proc/meminfo

扫描二维码关注公众号,回复: 3201027 查看本文章

  /proc/<pid>/mem

1. 程序异常结束应对方法

  1.1 应用问题 

    Oops信息解读

    内存非法访问SEGV类型问题分析,可以通过core文件分析SEGV问题通过watch分析非法内存访问利用MALLOC_CHECK_调试free双重释放

    调试器GDB的基本使用方法

  1.2 内核问题

    1.2.1 内核转储分析

      如何设置内核转储如何分析内核转储文件

      空指针引用,链表破坏等导致的Kernel Panic分析

      死循环,自旋锁,信号量等导致的内核停止响应问题

      实时进程停止响应

2. 程序不结束异常

  2.1 应用问题

    用top查看负载是否过高?负载不高,则进行应用死锁问题分析;负载高,则进行死循环问题分析。

  2.2 内核问题

    设置内核WDT检测异常

    通过SysRq分析问题

猜你喜欢

转载自www.cnblogs.com/arnoldlu/p/9649229.html