西安高端网站开发网站自己可以做么

web/2025/10/3 2:53:38/文章来源:
西安高端网站开发,网站自己可以做么,公司的网址是什么,社交网站建设内容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.mzph.cn/web/85976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

域名和网站建设网站建设软件

1导入vue 2创建一个vuex的存储对象 3注册插件 4导出 5导入vuex的存储对象 6建立一个组件

学会了php的语法怎么做网站网络维护培训

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

锡林浩特本地网站建设移动端后台管理系统

1、 2、 3、 4、 5、 转载于:https://www.cnblogs.com/happykoukou/p/4437111.html

公司网站如何被百度收录网站手机版方案

一、前言实际上权限系统老早之前我就在一直开发,大概在刚毕业没多久就想一个人写一个系统,断断续续一直坚持到现在,毕竟自己亲动手自写的系统才有收获,本篇仅介绍权限。小小系统上不了台面,望各位大神勿喷。二、系统介…

长沙手机app网站开发wordpress插件一般开源

nagios转载于:https://blog.51cto.com/yujianglei/1557718

外贸网站建设 公司价格最好的购物网站

本专栏记录C学习过程包括C基础以及数据结构和算法,其中第一部分计划时间一个月,主要跟着黑马视频教程,学习路线如下,不定时更新,欢迎关注。 当前章节处于: ---------第1阶段-C基础入门 ---------第2阶段实战…

请勿直接解析到ip否则我司不能保证您的网站能正常运行!"js常用网页特效

人脸对比 人脸对比,顾名思义,就是对比两个人脸的相似度。本文将用Paddle实现这一功能。 PS:作者肝了整整3天才稍微搞明白实现方法 数据集准备 这里使用百度AI Studio的开源数据集: 人脸数据_数据集-飞桨AI Studio星河社区 (b…

口碑好的番禺网站建设seo推广沧州公司电话

随着信息化时代的到来,数据安全已成为国家、企业和个人共同关注的焦点。政府系统国产化作为提高信息安全和自主可控能力的重要举措,正逐步得到广泛实施。在这一过程中,沙箱技术作为一种先进的安全机制,其在国产化系统加密效果方面…

成都网站建设外包业务网络文学网站开发

系统环境 一、FS相关网站 二、第三方库安装 1.apt安装 2.指定版本sofia-sip安装 3.指定版本spandsp安装 4.指定版本libks安装 5.指定版本openssl安装 三、指定版本FS安装 1.CPPFLAGS配置 2.编译器版本 3.FS配置编译 四、FS,fs_cli运行,模块加载 附录 1.安…

广州哪家做网站mt4外汇网站建设

文章目录前言一、什么是毕昇 JDK?1.1、毕昇 JDK 发展历程1.2、毕昇 JDK 的支持架构1.3、毕昇 JDK、OpenJDK 和 Oracle JDK 区别二、为什么要做毕昇 JDK?2.1、Oracle JDK 授权方式发生变化2.2、高版本 JDK 有价值特性的渴望2.3、应用的定制化优化诉求三、…

四川住房与城乡城乡建设厅网站做模板下载网站挣钱吗

文 | Akhil Raju源 | 机器之心在这里,既有头脑风暴,也有生活气息。本月初,时任苹果机器学习总监的 Ian Goodfellow 宣布在加入公司三年后辞职,没过几天,就有消息曝出大神去向定了,他将重返谷歌加入 DeepMin…

美容院网站源码如何在服务器上放网站

1.外墙外保温系统耐候性试验设备,测温点不应少于( ),每个测温点的温度与平均温度偏差不应大于( )。 A、2个,5℃ B、4个,5℃ C、2

天河企业网站建设网站总是跳转

目录 测试计划书 1. 引言 2. 测试目标 3. 测试方法 3.1 黑盒测试 (1)等价类划分: (2)边界值分析: (3)因果图: ​编辑(4)错误推测法 3.2 白盒测试 测试用例!! 4. 测试环境 5. 测试计划 6…

建设企业网站官网登录网站可以做二维码吗

十年婚姻总结八 女人一生的合伙人不能只是帅哥哥 女人一生的合伙人不能只是帅哥哥 浪漫的本质还是你的筹码。 比如你送男人5万的手表,但你没什么其他筹码(皮肤粗糙蜡黄、没人脉金钱资源、长的胖)。 那个男人会觉得你胡闹,你送的…

建筑网站模版网站权重排行榜

遇到问题,npm install less-loader7.3.0 --save安装好less-loader后,执行npm run serve 项目运行不起来,排查后发现在安装less-loader后就提示需要安装less,正确的安装应如下: npm install less less-loader7.3.0 --sa…

可信网站标准版做网站一万

对于那些拥有多个微信号的用户来说,频繁地在不同微信号和设备之间切换既麻烦又容易搞混。这时候,一款多微信聚合聊天神器——微信管理系统应运而生,为我们带来了极大的便利与高效。 下面一起来看看它都有哪些功能吧! 1、多微信同…

江西建设信息网站营销推广方式

NoSQL-Redis集群 一、集群:1.单点Redis带来的问题:2.解决:3.集群的介绍:4.集群的优势:5.集群的实现方式: 二、集群的模式:1.类型:2.主从复制: 三、搭建主从复制&#xff…

直接ip访问网站页面设计介绍

Spring事务-两种开启事务管理的方式 1、前期准备2、基于注解的声明式事务管理3、基于编程式的事务管理4、声明式事务失效的情况 例子:假设有一个银行转账的业务,其中涉及到从一个账户转钱到另一个账户。在这个业务中,我们需要保证要么两个账户…

建立内部网站需要多少钱郑州男科

目录 专栏导读之前的课程1、小球类设计2、挡板类的设计3、砖块类4、砖块与小球的边界碰撞检测5、检测到碰撞,删除砖块,改变运动方向完整版代码总结 专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 …

网站建设的前期准备微博代替wordpress评论框

文章目录 vue3使用响应式数据 v-model导致响应式失效el-form表单无法输入的问题 vue3使用响应式数据 v-model导致响应式失效el-form表单无法输入的问题 参考文章 重构vue2项目时发现的问题,原始项目使用的是Element-ui。 其实vue3可以使用适配的Element-plus 问…