This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB 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: Problem debugging SOs


Thanks Kevin.

I am responding a little bit late since I was out of the office for the week-end.

I have taken a look to the references you wrote and, yes, that is exactly the thing that is happening. I have been also peep-ing into the gdb's source code and the code-in-the-matter is already included into the latest gdb-5.2.1 version which I am trying to use also.

I have been trying with the 5.1.x and lately 5.2.1 (downloaded from ftp.gnu, configured without any options and compiled on my machine with the gcc 2.95.x) with the something better and something worse success:

1. SO's symbol resolving is behaving slightly better. But !!! I have to step into the function from the SO with the <Step Into Instruction> and go through the whole SO resolving stuff to come into the function body - instead of using simply Step Into command. And I have also changed my SO dlopen-ing from RTLD_LAZY to the RTLD_NOW | RTLD_GLOBAL so I could have presumed that the resolving stuff would not be executed anymore... with no obvious difference.

2. <Step Into> generally does not work for me anymore - it usually behaves as it was Step Over command really - I again have to execute <Step Into Instruction> and after that <Step Into> to come into the called function body. Pretty annoying, isnt't it ? Or setting the bunch of the breakpoints all over the code so the whole debugging process takes me a lot more than too much time.

I was starting to think that the problem was related to the gcc stub info generation and I am going to try a gcc-3.0.4 instead of a 2.95.x which came with my SuSE distro. Please spare me the time and tell me if it would not work either !

Iztok


Kevin Buettner wrote:

On Aug 23, 11:43am, Iztok wrote:


Version 5.0
Platform i386 Linux SuSE 7.0

I've got situation when shared object is loaded at runtime via the dlopen function. GDB afterwards shows that the symbols from this shared object are loaded but when trying to step into the function from this SO nothing shows.

Full debugging info is included in SO.

How should I prepare the system to debug such SW ?

I think you may be seeing a linker bug. Newer versions of gdb have
a fix to work around the bug, but gdb-5.0 did not.

For more information, see the threads associated with:

http://sources.redhat.com/ml/gdb/2001-08/msg00221.html
http://sources.redhat.com/ml/gdb-patches/2001-09/msg00003.html

The simple fix is to update to a newer version of gdb. Either 5.2
or the current development sources should be fine.

Kevin






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