当前位置: 首页 > news >正文

梦幻创意网站建设微官网怎么进入

梦幻创意网站建设,微官网怎么进入,班级网页制作素材,一级域名二级域名区别0 实践发现KDB不支持step调试功能 (本文针对的是arm CotexA9架构#xff0c;各种架构的实现方式不一样#xff0c; X86的好像已经支持#xff0c;不过本人没有验证过) 1 首先看下要调试的代码段 1.1 C语言 int testPara_7(int a, int b,int c,int d, int e…0    实践发现KDB不支持step调试功能 (本文针对的是arm CotexA9架构各种架构的实现方式不一样    X86的好像已经支持不过本人没有验证过) 1    首先看下要调试的代码段    1.1  C语言    int  testPara_7(int a, int b,int c,int d, int e,int f,int g)    {          printk(KERN_ERR “hit one \n”);          printk(KERN_ERR “hit two \n”);          printk(KERN_ERR “hit three \n”);          printk(KERN_ERR “hit four \n”);          return 3;    }      1.2  对应的汇编语言  objdump -d vmlinux    c0339bf8 testPara_7:    c0339bf8: e1a0c00d  mov ip, sp    c0339bfc: e92dd800  push {fp, ip, lr, pc}    c0339c00: e24cb004  sub fp, ip, #4 ; 0×4    c0339c04: e59f0020  ldr r0, [pc, #32] ; c0339c2c testPara_70×34    c0339c08: eb05bbef  bl c04a8bcc printk    c0339c0c: e59f001c  ldr r0, [pc, #28] ; c0339c30 testPara_70×38    c0339c10: eb05bbed  bl c04a8bcc printk    c0339c14: e59f0018  ldr r0, [pc, #24] ; c0339c34 testPara_70×3c    c0339c18: eb05bbeb  bl c04a8bcc printk    c0339c1c: e59f0014  ldr r0, [pc, #20] ; c0339c38 testPara_70×40    c0339c20: eb05bbe9  bl c04a8bcc printk    c0339c24: e3a00003  mov r0, #3 ; 0×3    c0339c28: e89da800  ldm sp, {fp, sp, pc}    c0339c2c: c060bd96  .word 0xc060bd96    c0339c30: c060bda3  .word 0xc060bda3    c0339c34: c060bdb0  .word 0xc060bdb0    c0339c38: c060bdbf  .word 0xc060bdbf 3    通过分析汇编发现指令的地址都是以4的步长递增的这种情况就比较号解决了    不用去根据不同的汇编指令改变PC的值。而只需要简单的PCPC4即可。 4    在Debug_core.c 增加函数如下    并在头文件中声明  extern  void do_my_step(unsigned long addr); void do_my_step(unsigned long addr) {      int i0;      for (i 0; i KGDB_MAX_BREAKPOINTS; i)      {           if (kgdb_break[i].bpt_addr ! addr)               continue;         //找到地址相匹配的修改其地址值          kgdb_break[i].bpt_addrkgdb_break[i].bpt_addr4;          kgdb_break[i].state BP_SET;           printk(KERN_ERR “i is %d    kgdb_break[i].bpt_addr is %p\r\n”,i,  kgdb_break[i].bpt_addr);           break;     }                                 } 5  修改 kdb_bp.c 中的 kdb_handle_bp 函数如下    static void kdb_handle_bp(struct pt_regs *regs, kdb_bp_t *bp) {        if (KDB_DEBUG(BP))                kdb_printf(“regs-ip 0x%lx\n”, instruction_pointer(regs));         //此处是新增的调用单步实现函数       do_my_step(instruction_pointer(regs));       /*         * Setup single step          */        kdb_setsinglestep(regs);      /*        * Reset delay attribute        */       bp-bp_delay 0;      bp-bp_delayed 1; } 6   实际应用进入kdb模式后 echo g /proc/sysrq-trigger   输入ss即可实现单步模式汇编级别的   kdbbp c0339bf8    (在testPara_7函数处设置一个断点)   kdbgo   之后kernel运行到此函数系统进入KDB模式就可以进行单步调试   kdbss   ….   与预想的一致按两次ss即可打印出一条语句(可通过串口及minicom观察)   如 hit one              hit two              ….. 7   7.1  总的来说实现了step功能但是还是存在一些小bug   7.2  有时间的话希望能够实现C语言级别的step对我来说难度太大 8   kgdb_arch_handle_exception函数和自己实践ARM结构的GKDBb,并没有   实现step调试功能。   曾试图去实现kgdb的step功能由于条件及能力限制没能实现   kgdb需要用的一个串口通讯调试本来也需要单独一条但是现在只有   一条共用的,   int kgdb_arch_handle_exception(int exception_vector, int signo,           int err_code, char *remcom_in_buffer,           char *remcom_out_buffer,           struct pt_regs *linux_regs)   {             unsigned long addr;             char *ptr;            switch (remcom_in_buffer[0]) {                       case ‘D’:                       case ‘k’:                       case ‘c’:                       ptr remcom_in_buffer[1];                       if (kgdb_hex2long(ptr, addr))                                     linux_regs-ARM_pc addr;                       else if (compiled_break 1)                                     linux_regs-ARM_pc 4;                      compiled_break 0;           return 0;  } return -1;  }  转载于:https://www.cnblogs.com/pangblog/p/3312929.html
http://www.yutouwan.com/news/462353/

相关文章:

  • 网站打开速度影响因素怎么给网站做绿标
  • 需要郑州网站建设腾讯云 建立wordpress
  • c 做注册网站长安网站建设推广公司
  • 网站功能说明怎么做一个主机可以做几个网站
  • 做一直播网站要多少钱在哪个平台做网站好
  • 可信网站认证logo找做网站的上什么app
  • 深圳十大网站建设公司wordpress 流量
  • 幕墙设计培训乡网站建设请小组讨论一个完整的网页设计流程
  • 广州企业网站推广策划方案腾讯云wordpress帐号
  • 网站建设工作稳定吗电子政务网站建设公司排行榜
  • 从化专业做网站wordpress入侵工具
  • 建设银行苏州网站网站建设600分站优缺点
  • 去哪里找人做网站重庆专门做网站的公司
  • 在那些免费网站做宣传效果好阿里巴巴外贸订单网站
  • 开封网站建设哪家好泰和县网站免费建站
  • 消费金融网站建设想学网络运营怎么开始
  • 印度人通过什么网站做国际贸易wordpress多专题模版
  • 左右结构网站网站建设方案 规划
  • 专业生产车间设计图纸网站自主式响应网站
  • 建设一个公司网站网页视频下载浏览器
  • 情人做网站模版phpwind与wordpress
  • 企业网站的建站步骤安徽省校园网站建设
  • 小型商城网站wordpress加载插件下载
  • 做网赌需要在哪些网站投广告滑县做网站公司
  • 湖南省住房和建设厅网站wordpress自己写界面
  • 高端网站设计企业wordpress 做毕业设计
  • 专门做微信公众号的网站wordpress 页脚加链接
  • 企业网站建设步骤中国最大的服装外贸公司
  • 淮北建站flash使用教程
  • net网站开发实例网站建设小说