eclipse查看异常打印信息和借此debug的方法

LPCXpresso IDE实战指南:基于Eclipse的NXP LPC MCU开发环境解析 在嵌入式系统开发中,集成开发环境(IDE)是连接开发者与硬件平台的核心工具,它通过集成编译器、调试器和软件库,大幅提升了开发效率。其工作原理在于将底层复杂的工具链和硬件配置封装为可视化操作,降低了开发门槛。对于ARM Cortex-M微控制器而言,一个优秀的IDE不仅能提供代码编辑和调试功能,更能深度适配芯片架构,实现高效的内存管理和外设驱动支持。LPCXpresso IDE正是NXP官方为此打造的解决方案,它基于成熟的Eclipse框架,集成了优化的GNU工具链和LPCOpen软件框架,为开发者提供了从项 阅读详情

 

1).将模块代码放入junit测试方法中,发动junit.出现异常信息.junit的异常栈中往往看不到主方法,这是因为eclipse先发动自带的junit类中的主方法,然后交给org.junit中的测试类.如果在框架下debug,junit会先初始化框架.因为上述原因,导致junit的栈信息中的...more的行数往往和显示的不符,但这不是重点,只需右击copy trace,然后粘贴就能看的trace的全貌,大部分情况下隐藏的trace都不是问题所在.异常栈的全径即创建该异常的线程启动点(一般是一个main方法)到该异常发生之时的所经历的所有方法栈.报告的位置就是new expection()的位置,从信息中无法确定throw和catch的位置,但这并不重要.为什么需要junit来进行测试而不是主方法.因为采用IOC思想开发的Web程序往往不允许程序员创建主方法,而且junit能帮助完成初始化代码.用junit是个明智之选.

2),对于抛出自定义具体异常而且报告原因和根源一致的bug,只需要查看最后一层caused by的信息就可解决问题,甚至有时候只需要查看top-level的异常就能解决,这些算不上挑战.

3).最难的问题是对于exception报告了一个unspecific的runtime异常,比如一个nullpointerexception,这种不明确的异常必须通过严格代码跟踪找到数据错误的点,代码跟踪的两个必须条件:1,所有的class文件必须是携带debug信息的(最重要的两个信息是源代码文件名和行号).2所有的类和其对应的源码必须是同一版本的(即所有的class文件都是可以由对应同名的.java文件编译得到).第一个方面遇到的问题一般是JDK中的class文件为了降低体积使用了:none参数编译,导致debug信息丢失,解决的办法可以寻找带debug信息的版本,或者重新编译源码.对于找不到源码的jar包可以用反编译工具反编译或者干脆换个能找到源码的版本?(这样做有潜在的兼容性风险).在看到trace信息后,依据栈中出现的方法所在类,添加对应对应源码.然后在各个栈的入口处添加断点,单步跟踪,从断点所在方法入口step into,观察过程中的变量变化,最后找到异常的位置.但即便如此也只能定位问题所在,如果不是对程序流程经历的各个模块都十分熟悉,即便找到了数据错误的位置,也很难解决问题.这种解决bug的思路无疑是一种低效率,高时间代价的方式,除非一切可以利用的间接方法都失效了而且编程者本人的基本功很扎实,否则不推荐这种方式.

注:关于java文件中的行号和class文件中的行号,往往冗长的一条java代码(可能占据好几行)会生成很多字节码指令,所以class反汇编的文件常常多"行"(PC步进值)对应一个java源文件的行号(此条代码的初始行).在debug的时候单步指令将反复在一行源码上执行,执行的顺序是先将传参入栈(形参初始化),执行方法体,最后返回.循环语句有类似的情况,最后return由loop取代.大部分情况下在源码上控制单步是清晰,如果遇到了十分罕见情况,可以查看反汇编字节码文件.

Eclipse配置Tomcat全解析:从版本兼容到热部署实战 Java Web开发中,服务器配置是应用部署与运行的基础环节。其核心原理在于将开发环境与服务器运行时环境进行正确关联,确保项目依赖、类加载路径与部署映射的一致性。这一过程的技术价值在于为开发者提供了本地调试、快速迭代和问题排查的能力,是理解Web应用生命周期的重要实践。在实际开发场景中,尤其是在维护传统项目或搭建特定教学环境时,**版本兼容性**与**热部署**机制成为影响开发效率的关键因素。本文以Eclipse集成Tomcat为例,深入讲解如何通过配置运行时环境、管理服务器实例,并实现高效的代码热更新,帮 阅读详情

相关推荐

ARM Cortex-M4除零异常捕获:从硬件机制到XMC4500实战配置

在嵌入式系统开发中,异常处理是保障系统稳定性的关键技术。ARM Cortex-M系列内核提供了完善的硬件异常机制,其中除零错误(DIVBYZERO)作为一种常见的用法错误(Usage Fault),若未妥善处理,可能导致系统进入硬故障(HardFault)甚至意外重启。理解其原理需从内核的故障分类、状态寄存器(如CFSR)及异常使能配置入手。通过使能除零陷阱(DIV_0_TRP)并定制异常处理程序,开发者可以精准捕获错误现场,获取程序计数器(PC)、堆栈指针等关键信息,实现快速诊断。这一技术对于电机控制、汽

weixin_30889885的博客 399

模拟eclipse控制台显示打印信息的程序

在这里实现了一个能模拟eclipse控制台显示打印信息的程序. 主要的技术点有下:         1, 输出流重定向:       将形如System.out.println();的输出内容重定向的原理:        (1) System类的静态属性 out 的类型是 PrintStream; System.out.println即是调用PrintStream实例

请告诉他 1105

FPGA软核处理器实战:从Nios II系统搭建到软硬件协同仿真

软核处理器是FPGA实现嵌入式系统的核心组件,它通过可编程逻辑资源构建CPU,实现了硬件任务与软件任务的分离。其原理在于利用HDL描述的可综合CPU设计,通过总线(如Avalon)集成外设IP核,形成可定制的片上系统(SoC)。这项技术的价值在于极大提升了系统的灵活性和可扩展性,使得功能迭代可通过修改软件而非重新设计硬件来完成,显著缩短开发周期。在应用场景上,它广泛用于协议解析、算法调度、用户交互等复杂控制场景,是连接FPGA底层硬件与上层应用软件的关键桥梁。本文以Nios II软核处理器为例,深入解析了I

cmff98425的博客 424

eclipse使用 console 查看异常信息 如何组织窗口 工作效率

1.组织窗口,把最常用放到不同的位置都显示出来 2.把console的字体变小 preference->font->搜索console 在console里点右键,preferences里面有个Console buffer size(characters),默认只有80000,你可以最大设置到1000000 这样可以提高缓冲区的大小 3.提高效率 copy qualified name 可

小黄宝宝的专栏 1273

MCUXpresso IDE高级调试实战:从断点到指令追踪与SWO性能剖析

在嵌入式系统开发中,调试是定位和解决复杂问题的核心技术。其原理在于通过调试器与芯片硬件调试模块的交互,实现对程序执行流、内存状态和硬件行为的实时监控与分析。这项技术的核心价值在于将不可见的软件行为可视化,从而高效定位偶发性故障、性能瓶颈和实时调度问题。在嵌入式实时操作系统(RTOS)和微控制器(MCU)开发等应用场景中,高级调试手段尤为重要。本文聚焦于NXP MCUXpresso IDE环境,深入探讨如何利用指令追踪(Instruction Trace)和SWO(Single Wire Output)追踪等

weixin_34168880的博客 439

学生党投稿Applied Soft Computing:从导师账号登录到通讯作者设置的全流程解惑

本文详细解析了学生投稿Applied Soft Computing期刊的全流程,重点介绍了导师账号登录、通讯作者设置、作者排序调整以及开放获取费用等关键环节的避坑技巧。针对LaTeX稿件处理和财务选项选择提供了实用建议,帮助学生顺利完成SCI期刊投稿。

weixin_30352191的博客 211

出现异常继续执行代码,继续执行循环操作或处理异常

【代码】出现异常继续执行代码,继续执行循环操作或处理异常。

xnian_的博客 461

Java开发的企业排班系统

Java开发的企业排班系统,用了springboot框架,人脸识别是采用百度接口的方式实现

自学网站s.jf3q.com,菜鸟的成长之路 6013

eclipse-向Console控制台输出信息

【代码】eclipse-向Console控制台输出信息。

liudong200618的博客 1089

深信服上网行为管理设备登录方法、恢复出厂、恢复控制台密码

1.初识设备 1.1 设备外观 1.2 软件版本 2.如何登录设备 首次拿到AC/SG设备时,可以通过以下方法登录设备控制台 SANGFOR AC/SG设备,各网口默认的出厂IP为: eth0(LAN):10.251.251.251/24 , eth1(DMZ)10.252.252.252/24 1、使用一根交叉线连接设备和电脑 (1) 如果电脑连接的是设备的eth0口,需先在电脑上配...

✍千里之行,始于足下 ^,^ 5万+

参考线平滑-FemPosDeviation-SQP

使用SQP(顺序二次规划)对离散点进行平滑

mpt0816的博客 2439

eclipse + spring MVC环境下,运行junit case不能打印出log4j的内容 解决方法

eclipse + spring MVC环境下,运行junit  case不能打印出log4j的内容,如果不运行junit,则log4j可以打印出正常的内容。 错误信息如下: log4j:WARN No appenders could be found for logger . log4j:WARN Please initialize the log4j system properly.

大树叶 技术专栏 1192

ResNet与注意力机制:深度学习中的强强联合

本文详细介绍了ResNet和注意力机制的基本原理,并探讨了如何将两者结合,以提升网络的性能。通过在ResNet中引入注意力机制,网络可以自适应地调整特征图的重要性,从而更加关注于关键区域,提升模型的性能。实验结果表明,引入注意力机制后,ResNet的性能得到了显著提升。未来,随着注意力机制的不断发展,我们可以期待更多创新的网络架构和训练方法,进一步提升深度学习模型的性能。

2401_82355416的博客 1783

JUnitParams参数化测试实战:解决运行器冲突、数据提供与异常测试难题

参数化测试是软件测试中用于验证多种输入组合场景的核心技术,它通过分离测试逻辑与测试数据,显著提升测试用例的覆盖率和可维护性。其原理是在测试框架中通过特定注解或配置,将多组数据动态注入到同一个测试方法中执行,从而实现一次编写、多次运行的效果。在Java生态中,JUnit 4的原生参数化方案存在代码结构分散、可读性差等局限,而JUnitParams库以其更优雅的语法和强大的数据驱动能力,成为许多项目的首选。然而,在实际工程实践中,开发者常会遇到运行器冲突、测试数据方法可见性、复杂参数传递等棘手问题。例如,当与S

weixin_33704591的博客 478

【ComfyUI】Wan2.2 + IndexTTS 图像数字人或动物口播视频生成

本文介绍了一个基于ComfyUI的数字人口播视频生成工作流,整合了IndexTTS和图像处理技术。该系统通过多模型协同工作,实现从形象图、文本和音频输入到自动生成口播视频的全流程。核心包含WanVideo系列模型,通过CLIP Vision、T5文本编码器和Wav2Vec语音模型分别处理视觉特征、语义理解和口型同步。工作流涵盖素材加载、特征提取、音频处理和视频生成等节点,支持人物、动物等多种主体的口播内容创作。该方案自动化程度高,适用于知识讲解、剧情旁白等多种场景,能帮助创作者高效产出高质量口播视频。

Mr数据杨 2054

化工模拟与优化软件:Aspen HYSYS二次开发_(15).工业应用与项目管理

项目背景、目标和主要流程。

kkchenjj的博客 1130

November 8 2006

Yesterday I added debug print information into two C source files.  I thought it is a easything to do.  However,  there are still troublesome during the procedures.  When the "eclipse",a development t

Lu_ming的专栏 737

分子对接时,如何批量处理小分子受体和蛋白配体,让他们快速转化为pdbqt格式,然后用vina跑?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1222

JavaWeb_Tomcat的安装和配置

1.部署并启动tomcat服务器1).解压apache-tomcat-7.0.67-windows-i64.zip到某个非中文目录下 2).配置一个环境变量. java_home(指向JDK安装的根目录) 或 jre_home 3).通过双击D:\apache-tomcat-7.0.67\bin 目录下的startup.bat,启动服务器 4).可以在浏览器中输入 localhost:8080

chance2015的博客 9476

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

CodeWarrior调试配置实战:提升PowerPC嵌入式开发效率的关键技巧

在嵌入式系统开发中,调试是验证逻辑、定位问题的核心环节。其原理是通过调试器建立主机与目标硬件的通信,控制程序执行、访问内存与寄存器。高效的调试配置能显著缩短开发周期,提升工程实践效率,尤其在多核处理器、汽车电子等复杂场景中价值凸显。本文聚焦NXP Power Architecture生态的经典工具CodeWarrior Development Studio,深入解析其调试配置体系。通过详解程序参数传递、调试器核心设置(如硬件/软件断点选择、PC初始化策略)以及符号缓存加速等关键技术,并结合大型项目调试、Bo

weixin_30940783的博客 564

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

java web tomcat_JavaWeb_Tomcat的安装和配置

1.部署并启动tomcat服务器1).解压apache-tomcat-7.0.67-windows-i64.zip到某个非中文目录下2).配置一个环境变量. java_home(指向JDK安装的根目录) 或 jre_home3).通过双击D:\apache-tomcat-7.0.67\bin 目录下的startup.bat,启动服务器4).可以在浏览器中输入 localhost:8080 来验证T...

weixin_42384743的博客 163

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IDEA高级调试实战:从断点基础到多线程与远程调试全解析

在软件开发中,调试是定位和修复程序错误的核心技术。其原理是通过控制程序执行流程,在特定位置暂停,允许开发者实时检查变量状态、内存数据和执行路径,从而理解程序的实际运行行为。掌握高效的调试技术对于提升开发效率和代码质量具有重要价值,尤其在处理复杂业务逻辑、并发问题和系统集成时。本文聚焦于Java开发中广泛使用的IDEA调试器,深入讲解条件断点、多线程调试、远程调试等高级应用场景。通过融入热词【条件断点】和【远程调试】,详细展示了如何利用条件表达式精准拦截特定状态,以及如何连接并调试部署在测试环境的JVM进程,

weixin_34297704的博客 570

【Linux】信号

信号基本概念,产生,修改信号signal,发送信号kill,信号响应处理僵尸进程

lxylxylxy的博客 848

Unity开发.安卓微信支付2020最新详解-2

1.与Unity交互 上篇补充:支付申请成功后,按提示授权成功后,登陆到微信支付商户后台,设置好自己的支付秘钥(Google密码生成工具按规则随机生成一个32位密码就可以)注意保存好,然后发给服务端开发员,他在调用微信的统一下单接口时需要使用。 1.先导出jar包 (到处Jar之前需要保证自己的项目没有报错与警告) 由于bin文件夹没有什么内容,我只需要把src文件夹导出jar就可以了,右键-Ex...

weixin_42509767的博客 715

S32 Design Studio:汽车嵌入式开发的图形化配置与多核调试实战

在汽车电子和嵌入式系统开发领域,图形化配置工具与集成开发环境(IDE)正成为提升开发效率、降低复杂硬件开发门槛的关键技术。其核心原理在于通过可视化界面,将芯片数据手册中的寄存器配置、时钟树初始化等底层硬件操作抽象为直观的拖拽与设置,自动生成可靠的低层驱动代码,从而将工程师从繁琐易错的手动编码中解放出来。这项技术的核心价值在于显著缩短开发周期,减少人为错误,并确保代码的可靠性与一致性,尤其适用于对安全性和实时性要求极高的汽车车身控制、新能源电控及自动驾驶域控制器等场景。以NXP S32 Design Stud

weixin_33724659的博客 378

Android 开发环境搭建

Android Studio 安装 1.安装java JDK及配制环境变量 2.下载Android Studio 安装包 3. 安装Android Studio 旧的Android IDE (Eclipse) 安装 1.安装java JDK及配制环境变量 2.安装Eclipse 3.安装android SDK 及API选择 4. 在Eclipse上安装android ADT及关联android SDK

Jamkier's zone 1529
上一篇: 学习笔记之eclipse IDE debug的思路
下一篇: hibernate连接接mysql时候出现java.lang.ClassNotFoundException: org.aspectj.lang.Signature错误
lust_devil
博客等级 码龄16年 2粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值