This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: another gdb question


Nic Ferrier writes:
 > Andrew Haley <aph@redhat.com> writes:
 > 
 > > Nic Ferrier writes:
 > >  > Getting paperclips to work natively is like pulling teeth.
 > >  >
 > >  > Paperclips uses gnujaxp: compiled natively (either from byte code or
 > >  > source) it gives an IO error. It's the sort of error that needs
 > >  > tracing with the debugger.
 > >  >
 > >  > I can load paperclips in the debugger easily, but when I try to set a
 > >  > break point I get all sorts of problems.
 > >  >
 > >  > I seem to be able to complete a class name from the paperclips binary
 > >  > (but not from the gnujaxp library).
 > >  >
 > >  > I cannot seem to complete a method name, or get GDB to accept it in
 > >  > any form.
 > > 
 > > You can't set a breakpoint in a DSO until it has been loaded.  If your
 > > executable is linked against the DSO you should be able to set a
 > > breakpoint once main has started.
 > > 
 > > So:
 > > 
 > > gdb> b foo
 > > gdb> r
 > > ... break
 > > gdb> b 'gnu::jaxp::whatever'
 > > 
 > > Also see 'info share' to see if the DSO has been loaded.
 > 
 > Well, ok... but that doesn't change the fact that I should be able to
 > set one in the debugging target.
 > 
 > For example:
 > 
 >   $ gcj ... -shared -o gnujaxp
 >   $ gcj ... --main gnu.paperclips.paperclips -o paperclips
 >   $ export LD_LIBRARY_PATH=...:./
 > 
 > so now we have a shared library gnujaxp and paperclips as an
 > executable with it's "main" class as gnu.paperclips.paperclips.

You did use '-g' when compiling, didn't you?

 > So now I do:
 > 
 >   $ gdb ./paperclips
 >   gdb> b gnu.paperclips.paperclips.main

b 'gnu::paperclips::paperclips::main<tab>

does work.

 > and I get the same error, namely this:
 > 
 >   the class gnu.paperclips.paperclips does not have any method named main
 >   Hint: try 'gnu.paperclips.paperclips.main<TAB> or 'gnu.paperclips.paperclips.main<ESC-?>
 > 
 > 
 > Putting in quotes doesn't work.
 > 
 > Using the C++ scoping operator doesn't work.
 > 
 > Setting the language to C++ and using the C++ scoping operator
 > doesn't work.
 > 
 > 
 > It should do, shouldn't it?

It does, with an up-to-date gdb and current gcj.

Andrew.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]