已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
应用程序调试技术 Java部分 第一讲使用Eclipse以及JDB调试Java程序 主讲人 施懿民 华章培训网 华章培训网版权所有 讲解了调试的原理 使用Eclipse调试器的一些技巧 以及使用jdb调试Java程序的方法 概述 第2页 断点的实现原理 断点 BreakPoint 可以说是调试器的关键技术 需要软件和硬件的协作才能实现 一般断点的实现方式有下面几种 通过特定的指令通知中央处理器 CPU 来中断程序的执行 通过设置特定的寄存器来通知中央处理器中断程序的执行 通过强制处理器触发异常来中断程序执行并将控制权转交给调试器 在Intel兼容的处理器架构上 一般调试器是通过在进程中特定的位置插入INT3指令来实现断点的 调试器提供的单步执行 单步跳过执行以及跳出函数等功能 都是断点的变种 第3页 演示 1 在C程序中嵌入断点 第4页 特殊断点 除了简单的每次执行到断点位置中断程序执行这一种方式 调试器一般都提供了如下几种断点 条件断点 可以指定触发断点的条件 避免每次重复触发断点降低调试工作效率 监视断点 可以在访问数据的时候 中断程序的执行 函数断点 可以在执行函数前或者退出函数前中断程序的执行 异常断点 当程序发生指定异常的时候 中断程序的执行 第一时间发现问题所在 类型断点 当程序试图加载某个类型的时候 中断程序的执行 第5页 演示 1 禁用所有的断点 2 设置条件断点 3 监视断点 4 异常断点 5 函数断点 6 在类型加载的时候中断 第6页 演示 Eclipse其他调试技巧 1 在堆栈的任意位置重新执行语句 2 在程序启动时进行调试 3 使用变量窗口的逻辑视图 4 单步过滤调试 5 计算表达式 第7页 远程调试架构 Java平台调试器架构 第8页 组件调试器接口 VM 被调程序 JVMTI Java虚拟机工具接口 后台 通信渠道 JDWP Java调试传输协议 前台 调试器 JDI Java调试接口 UI 远程调试原理 通过客户机 服务器架构 可以在本地调试Java程序 也可以通过网络进行远程调试 JPDA规范中的两个术语 连接器和传输 连接器是一个JDI抽象 用来在调试器应用程序和目标VM之间建立连接 传输定义应用程序如何进行访问 以及数据如何在前端和后端之间传输 连接器 映射 到可用的传输类型和连接模式 在Sun的JPDA参考实现中 为Microsoft Windows 提供了两个传输机制 套接字传输和共享内存传输 可用的连接器 连接套接字连接器连接共享内存连接器监听套接字连接器监听共享内存连接器启动命令行连接器 第9页 远程调试命令参数 Xdebug 启用调试特性 Xrunjdwp 在目标VM中加载JDWP实现 它通过传输和JDWP协议与独立的调试器应用程序通信 下面介绍一些特定的子选项 从JavaV5开始 您可以使用 agentlib jdwp选项 而不是 Xdebug和 Xrunjdwp 但如果连接到V5以前的VM 只能选择 Xdebug和 Xrunjdwp Xrunjdwp子选项 transport 这里通常使用套接字传输 但是在Windows平台上也可以使用共享内存传输 Server 如果值为y 目标应用程序监听将要连接的调试器应用程序 否则 它将连接到特定地址上的调试器应用程序 address 这是连接的传输地址 如果服务器为n 将尝试连接到该地址上的调试器应用程序 否则 将在这个端口监听连接 suspend 如果值为y 目标VM将暂停 直到调试器应用程序进行连接 第10页 演示 设置远程调试 1 被调试程序当作调试服务器 Xdebug Xrunjdwp transport dt socket server y address 87652 被调程序当作调试客户端 Xdebug Xrunjdwp transport dt socket address 127 0 0 1 8000 第11页 演示 1 使用jdb调试java程序 第12页 在Emacs里运行JDB 由于直接使用JDB调试时 浏览源代码时很不方便 如果机器上安装了emacs 可以直接在emacs里启动JDB 获取跟eclipse相近的源代码级别的调试体验 在emacs里运行JDB的方法 在emacs里按下ALT X键 在提示符后面输入JDB 敲击回车 接着再输入JDB的启动参数 按下CTRL X 2键 将emacs分屏 再按CTRL X
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨媒体协同设计-洞察与解读
- 融资效率提升方案-洞察与解读
- 创业创意大赛计划书(模板)
- 2025年农产品智能仓储协议
- 2025年二级秘书资格考试模拟真题及答案
- 2025年食品药品学院gmp考试试题及答案
- (完整版)急救知识试题题目(附答案)
- 文秘类考试题库及答案
- 2025年放射治疗原发性肝癌疗效评估试卷答案及解析
- 中医养生保健模拟练习题含答案
- 2025年汽车音响与导航行业分析报告及未来发展趋势预测
- 2025-2030年储能行业供应链整合与创新应用分析报告
- 2025中国远洋海运集团航运先进技术研究院招聘53人笔试历年参考题库附带答案详解
- 2025年公安联考真题及答案
- 2025入团积极分子结业考试题库(含答案)
- 2025-2026学年北京市昌平区八年级英语上册期中考试试卷及答案
- 红十字三角巾包扎方法大纲
- 佣金合同范本英文模板
- 肘关节X线课件
- 高等工程流体力学课件
- 建设工程材料送检规范汇总
评论
0/150
提交评论