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: "Cannot access memory at address 0x175f80"


On Fri, Sep 26, 2003 at 01:40:16PM -0400, Andrew Greenlaw wrote:
>  Hi.  I'm debugging a C++ tool (called apple) that's loaded as a 
> dynamic library into a C - or C++ program (called orange) .  Apple is 
> compiled with g++ 3.3.1, binutils 2.14, and debugging symbols are 
> enabled.  Orange is a big unknown (meaning:  I don't know how it was 
> compiled) and it has no debugging symbols.  The gdb version is 5.3
> 
>    Here are the flags used to compile Apple:
> # -gdwarf-2 -g3 used to enable stepping through macro execution under 
> gdb 5.3  The explanation's under gdb 5.3 release notes.
>    Compile:g++  -std=c++98 -Wall -DLINUX -gdwarf-2 -g3      -D__USE_GNU 
> -D_GNU_SOURCE -fPIC file_name.cpp
> 
> 
>    Link:
>    g++ -shared $(LIBS) $(OBJSCHEF)  $(PLIOBJSVCS_PLI) 
> InterfaceObjectVCS_PLI.o -o $@    -lc   gdwarf-2 -g3 -fPIC
> g++  -MD -std=c++98  -shared -lc -gdwarf-2 -g3  -fPIC <object files>  -o 
> libapple.so   
> 
>    When I go to debug apple, I run "gdb <program name>", then use the 
> "add-symbol-file <apple's path & filename> -readnow" gdb comman to load 
> the symbols from apple.  From there, I can set breakpoints in C++ class 
> methods, no problem.  But, there is 1 function (so, non-OO code), where 
> if I try to set a breakpoint, I get the following:
> 
>    (gdb) break nc_signal_raised
> Cannot access memory at address 0x175f80
> 
>    If I do an "nm" on the library, I get:
>    00175f80 T nc_signal_raised
> 
>    Indicating that the address read by gdb is correct.

Unlikely, since the library is not loaded at a base address of 0.

>    On a related, but less important note, when use ddd to debug & go to 
> a source file, I always get:  "<src_file_name>" is at address 0x10f5f0 
> <part_of_src_file_name> but contains no code.
> 
>    And yet I can set breakpoints or step through the code.  What's 
> going on?
> 
>    Any help you can offer will be appreciated.  I've been working on 
> this for 2 weeks, read every posting or piece of documentation I can 
> find.  I'm at my wits' end!

Why are you using add-symbol-file?  Is the loader not done as a dlopen,
i.e. are you dealing with something that has its own dynamic loader? 
If it's dlopen'd, gdb should automatically handle it.

It seems unlikely that add-symbol-file without specifying a text offset
is right, too.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


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