Bug 13834 - Can't set breakpoints in external source
Summary: Can't set breakpoints in external source
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows XP
: P2 enhancement (vote)
Target Milestone: 3.0 M3   Edit
Assignee: Darin Wright CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 13841 19410 22958 32729 35308 (view as bug list)
Depends on:
Blocks:
 
Reported: 2002-04-15 16:45 EDT by Peter Burka CLA
Modified: 2003-08-25 20:51 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Burka CLA 2002-04-15 16:45:53 EDT
Build 20020321

There doesn't appear to be any way to set a breakpoint in source code which is 
not managed by Eclipse.

I'm debugging code on a remote VM.  The program includes some code which is 
managed by my workspace, and some which is found in external JARs.  When I 
click on a stack frame for one of these unmanaged methods, I get a dialog 
asking where to find the source.  I point the dialog at the source, and an 
editor on the appropriate .java file opens.

However, I can't set breakpoints in this file:
 - there is no ruler displayed, so I can't double click o nthe ruler
 - the context menu's Add->Breakpoint action is disabled

This is frustrating, as I'd like to set breakpoints in the code that I'm 
examining!
Comment 1 Darin Wright CLA 2002-04-16 10:00:26 EDT
*** Bug 13841 has been marked as a duplicate of this bug. ***
Comment 2 Darin Wright CLA 2002-04-16 11:44:33 EDT
This is more than a debug issue. The java debug API supports breakpoints in 
external files (since breakpoints are name based), but the java editor would 
need to support setting those breakpoints (i.e. a ruler is needed for external 
files, and support to recognize markers associated with an external file).

Not sure this will be addressed in 2.0
Comment 3 Darin Wright CLA 2002-05-10 11:02:56 EDT
Deferred for post 2.0
Comment 4 Darin Wright CLA 2002-06-05 15:48:18 EDT
*** Bug 19410 has been marked as a duplicate of this bug. ***
Comment 5 Darin Wright CLA 2002-08-26 10:57:32 EDT
As well, we should support breakpoint in "internal files" that are not on the 
buildpath.
Comment 6 Darin Wright CLA 2002-08-26 11:03:46 EDT
Re-open for 2.1 investigation.
Comment 7 Jed Anderson CLA 2002-08-28 16:33:26 EDT
As a first step, what about a simple dialog where the user can enter a
fully qualified type name 
and a line number to set a breakpoint?
Comment 8 Darin Wright CLA 2002-12-05 10:09:43 EST
I have an implementation of breakpoint creation/location verification that uses 
the JDOM. The problem is that it is slow in large compilation units (the JDOM 
takes seconds to build on larget CUs such as java.lang.Character). Not clear if 
this solution is going to be feasible. Moving to M5.
Comment 9 Darin Wright CLA 2002-12-05 10:10:17 EST
*** Bug 22958 has been marked as a duplicate of this bug. ***
Comment 10 Darin Wright CLA 2003-01-21 11:28:14 EST
Breakpoint in external source has been deferred for post 2.1 consideration.
Comment 11 Darin Wright CLA 2003-02-24 13:36:57 EST
*** Bug 32729 has been marked as a duplicate of this bug. ***
Comment 12 Darin Wright CLA 2003-03-19 14:27:42 EST
*** Bug 35308 has been marked as a duplicate of this bug. ***
Comment 13 Darin Wright CLA 2003-05-12 15:38:27 EDT
Re-opening for 3.0
Comment 14 Luc Bourlier CLA 2003-08-18 15:13:07 EDT
Released the first part of this feature.
It allows to set line breakpoint ('standart') breakpoint in external files and
files not in the classpath.
It uses JDOM to find the name of the class and to verify the location of the
breakpoint (see bug 1591 for more details).

The same work need to be done for method breakpoints and watchpoints.
Comment 15 Luc Bourlier CLA 2003-08-18 19:22:55 EDT
Method breakpoints in external source will be limited to 'simple' methods.

Method breakpoints require the complete signature of the method, in the case of
source files not in the classpath, this signature can be generated if it
contains only primitive types. The real name of the non-primitive type cannot be
resolved, there is no context to resolve them.
Comment 16 Luc Bourlier CLA 2003-08-25 14:13:44 EDT
Released code to manage watchpoint in external files and files not in the classpath.
Comment 17 Luc Bourlier CLA 2003-08-25 19:54:13 EDT
Released code to manage method breakpoint in external files and files not in the
build path.
Comment 18 Luc Bourlier CLA 2003-08-25 19:54:38 EDT
Please verify, Darin W.
Comment 19 Darin Wright CLA 2003-08-25 20:51:34 EDT
Verified