The inclusion of variable info is controlled at compile time.
Due to a small typo, variable info is missing in the current jars.
I will open a bug for this.

Achim Huegen


Thanks for the answer. However, I guess I was not very clear about what I'm trying to accomplish. Let me be a bit more concise and give an example:

I want to debug Hivemind itself. Suppose I have a project running on Hivemind. I'm creating registry from a .sdl file (check the code below). I single step into RegistryBuilder.constructDefaultRegistry() (This, I can accomplish).

public void run() {
Registry registry = RegistryBuilder.constructDefaultRegistry();
Calculator c = (Calculator) registry.getService("com.kocbank.falez.onlineservers.hsmserver.Calculator", Calculator.class);


I step into the method and see the following in Eclipse. I can step through below lines. Wheee..

    public static Registry constructDefaultRegistry()
    {
        ClassResolver resolver = new DefaultClassResolver();
        RegistryBuilder builder = new RegistryBuilder();

        builder.processModules(resolver);

However, when I try to inspect the resolver object created inside the function, Eclipse complains that 'resolver cannot be resolved' (yes, I compiled Hivemind with debug info).

I single step into builder.processModules(resolver); line. And see:
    public void processModules(ClassResolver resolver)
    {
        if (LOG.isDebugEnabled())
            LOG.debug("Processing modules visible to " + resolver);

        processModulesResources(resolver, HIVE_MODULE_SDL);
        processModulesResources(resolver, HIVE_MODULE_XML);

Which is nice. Here, I still can't inspect (or display) resolver object itself. Eclipse still complains that resolver cannot be resolved. However, in the variables pane, I can see resolver object's contents. But displayed as arg0. Not resolver.

In other libraries included in my project, take servlet-api for instance, I can inspect variables.

I guess this is a bit more clear. Appreciate any comments.

Regards,
Bulent Erdemir





-----Original Message-----
From: Howard Lewis Ship [mailto:[EMAIL PROTECTED]
Sent: Sat 7/10/2004 5:16 AM
To: [email protected]
Subject: Re: Debugging Hivemind

I doubt you can debug the runtime-generated proxies.  There's
literally no Java source file to step through.  That you can't iPut
the breakpoints in your own code and don't worry about how you get
there :-)

I'm working on a HiveMind-driven project right now, so as necessary I
set break points in my code, i.e.:

Thread [PoolThread-0] (Suspended (breakpoint at line 31 in
ForumThreadDataSource))
ForumThreadDataSource.getThreadsInRange(int, int) line: 31
$Interceptor_fda6d35c7c_11.getThreadsInRange(int, int) line: not
available [local variables unavailable]
$InnerProxy_fda6d3590b_8.getThreadsInRange(int, int) line: not
available [local variables unavailable]
$SingletonProxy_fda6d358f7_7.getThreadsInRange(int, int) line: not
available [local variables unavailable]
ThreadSummaries$Enhance_51(ThreadList).prepareForRender(IRequestCycle) line: 57
ThreadSummaries$Enhance_51(AbstractComponent).render(IMarkupWriter,
IRequestCycle) line: 853



So I see what you mean; this is a Javassist issue, not a HiveMind issue.

Again, don't be concerned with the HiveMind proxies and interceptors,
set your breakpoints in your own code.




--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to