Java调试接口:将断点放在代码中的任意位置

时间:2012-01-02 12:43:38

标签: java debugging breakpoints jdi

我使用Java Debug Interface API编写自定义程序来调试我编写的Java应用程序。我可以使用以下代码将断点添加到所需方法调用的开头:

ReferenceType classRef = vm.classesByName(className).get(0);
Method meth = classRef.methodsByName(methodName).get(0);
BreakpointRequest brF1 = vm.eventRequestManager().createBreakpointRequest(meth.location());
brF1.enable();

但是,我无法弄清楚如何获取源文件中任意位置的Location对象。

1 个答案:

答案 0 :(得分:3)

有多种方法可以检索源文件中其他位置的Location

电子。例如,Method有几个操作:

  • allLineLocations() + 1重载
  • locationsOfLine(int line) +多次重载

ReferenceType也有此操作。只需浏览Location的使用情况。