zoukankan      html  css  js  c++  java
  • GDB断点原理

    1. 硬件(watchpoint,breakpoint)断点

    以ARM32为例:

    初始化阶段,通过hw_breakpoint.c注册断点异常handler

    arch_hw_breakpoint_init
     -> hook_fault_code(hw_breakpoint_pending) 注册watchpoint的SIGTRAP hook;

    设置断点时,通过ptrace_sethbpregs将断点信息写入到CPU debug register

    2. 软件断点

    2.1 breakpoint

    替换程序断点位置的代码指令修改为陷入异常的指令,从而触发断点信号,再恢复回代码指令。

    2.2 watch point

    在每次访问内存都由软件做判断,性能严重下降。


     
  • 相关阅读:
    easyui 例子2
    easyui 1
    SqlHelper.cs
    ajax 视频点赞功能
    路线
    .net面试题
    cookie 和session asp.net
    前端面试2
    前端面试1
    bootstrap 初始学习篇
  • 原文地址:https://www.cnblogs.com/zengjianrong/p/15649826.html
Copyright © 2011-2022 走看看