【问题标题】:is it possible to "go back" in java eclipse debugger like dragging the arrow in VS是否可以像在 VS 中拖动箭头一样在 java eclipse 调试器中“返回”
【发布时间】:2011-06-19 09:24:45
【问题描述】:

是否可以像在 Visual Studio 中一样,将堆栈指针或调试器中的箭头向后移动并更改当前执行行。
今天我正在使用修改源文件的“解决方法”。这将带我开始一个方法,但有时它还不够好。

【问题讨论】:

标签: java eclipse visual-studio debugging


【解决方案1】:

该功能称为“拖放到帧”,右键单击堆栈中的任何行,选择“拖放到帧”,然后您将返回到所选方法的开头。 Check Eclipse help topic.

【讨论】:

  • 那么中间的方法呢?
  • 下降到帧,然后运行到行。没有别的办法。
  • @ohadshai @gertas 刚刚回答了您的评论
  • 感谢 VonC,好主意,我必须开始在答案中使用图像
  • 请注意,对非局部变量的更改不会被还原。
【解决方案2】:

遗憾的是,不可能回到单行,JVM 不支持这一点。你只能跳到当前函数的开头,正如你所知道的那样(Drop to frame)。

【讨论】:

  • 我想知道为什么JVM不支持这个?我知道仅仅设置指令指针并不是那么简单。但我怀疑它不能使用一些策略来分析堆栈框架。
【解决方案3】:

它还没有结束测试,但Chronon 是一个很有前途的调试器,它具有“后退”功能。

【讨论】:

  • 其实只是想返回一行,而不是改变程序的状态。
  • Chronon 后退时不会改变程序的状态。调试器让它“看起来”像是状态已经改变了,但是由于数据是从记录中读取的并且你的程序实际上并没有运行,所以没有什么真正改变。您可以通过再次向前走回到“正常”状态。
  • Chronon 现在 btw 已经结束 :)
  • @pdeva 你错过了 oshai 所说的重点。 Chronon 将程序状态“倒回”到前一个时间点。这里的目标是从字面上更改指令指针,但不影响其他所有内容。从那里继续执行程序会导致多次执行某些代码行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-11
  • 2021-01-18
  • 2013-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多