Eclipse调试模式下,能否在运行中的Java程序里执行方法?
在Eclipse调试模式中执行Java方法的步骤
当然可以!Eclipse的调试模式完全支持在运行中的Java程序(必须处于暂停状态,比如停在你设置的断点处)执行任意方法,操作其实挺直观的,我给你拆解两种常用的方式:
方式一:使用表达式窗口(Expressions View)
- 首先让程序在断点处暂停下来——这是前提,只有程序暂停时才能执行自定义方法调用
- 打开表达式窗口:如果界面上没看到,点击顶部菜单
Window > Show View > Expressions - 在表达式窗口右上角,点击那个绿色的「Add Expression」加号按钮
- 在弹出的输入框里,直接输入你要执行的方法调用,比如:
// 调用实例方法 userService.getUserById(123) // 调用静态方法 StringUtils.isEmpty("test") - 按下回车后,Eclipse就会执行这个方法,同时在窗口里显示方法的返回结果(如果有返回值的话)
方式二:使用调试控制台(Debug Console)
- 同样先确保程序停在断点处
- 切换到Debug Console视图(一般在调试视图下方,找不到的话通过
Window > Show View > Debug Console打开) - 点击控制台左侧的「Display」按钮(图标是个小显示器),或者直接在底部的输入框里敲入方法调用代码
- 输入完成后按下
Ctrl+Enter(或者点击输入框旁边的执行按钮),方法就会被执行,执行结果会显示在控制台里
一些注意事项
- 要确保当前调试上下文能访问到目标方法和对象:比如对象不能是
null,如果是私有方法,得在该方法所属类的上下文(比如断点停在这个类的代码里)才能调用 - 如果方法会修改程序的状态(比如改变变量值、更新数据库),执行后可能会影响后续的调试流程,操作前最好想清楚哦
内容的提问来源于stack exchange,提问作者Moritz347
相关产品推荐
相关产品推荐

