Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[atf-dev] Breakpoint matching in the ATF debugger

Greetings,

My name is Giuliano Mega, and I am currently doing some work on the ATF debugger. :-) I am a committer at the Google Summer of Code Project,
where I've implemented an Eclipse debugger for distributed object
applications (http://god.incubadora.fapesp.br/portal).

My current objective with the ATF debugger is to get eval support working well (already checked out the eval_support branch), and to that end I have been working on getting some automated tests in place (including a failing test case for eval).

During the course of that work, I realized that JSDebugThread#getBreakpoints is not functional, so I am trying to
implement it. I am having some trouble, however, with matching the
information that the Mozilla engine provides with what's available from
the IBreakpoint instances.

It seems that it is not possible to ask the engine to assign a unique ID
to each breakpoint, so the only way to get this working, as far as I can
tell, is trying to match the path structure of the URL returned from
jsdIStackFrame#getScript#getFileName against the path structure of the
resource returned from IBreakpoint#getMarker#getResource. Right? :-)

Unfortunately, the structure of the URL doesn't exactly mirror the path
structure of the resources in the workspace. For instance, when I get an
URL "http://localhost:8080/DebugTests/test.js";, it refers to file
"workspace/DebugTests/WebContent/test.js".

So, I was wondering. Is it safe to assume that this transformation is
regular, I mean, that it's always performed in the same way for all
servers we may want to debug on? If so, then the problem is easy to
solve, and my current implementation will work fine. If not, then is
there a standard way to know which kinds of path manipulations has the
deployment process performed?

Am I talking nonsense here? Does anyone know of a simpler way to do this
matching?

Thanks a lot,

Giuliano



Back to the top