I have similar issues as you do. Especially this part is worrying:

warning: .dynamic section for "/build/m2/out/target/product/generic/
symbols/system/lib/libc.so" is not at the expected address (wrong
library or version mismatch?)

Fadden, I used the gdbclient to help me set up both host and target
side. I still get the above issue when I'm debugging programs/
processes in the emulator (haven't tried on real device yet).

Some additional questions:
* Would anybody know if the last build settings (to be used by the
gdbclient shell-function i.e.) are somehow remembered? I.e. which
target was built and with which tool-chain e.t.a.. As Michael pointed
out, there's two versions of pre-built tool-chains and one might have
multiple targets.

* Could the configure used by gdbclient shell-function safely be
changed? Say that you have two different targets and you would want to
use the gdblient to debug either one or the other. Could you then run
choosecombo to change the settings *without* rebuilding the complete
source?

* In which out directory are the binaries with symbol information to
be used by the AVD's stored? It would make sense to have an out
directory called ./out/target/product/emulator, but the only thing
that makes sense (to me) is out/target/product/generic. What if you've
built a SDK for another target. Would the binaries still be under out/
target/product/generic ?

In my case when I'm for example trying to debug the mediaserver on the
emulator:

 gdbclient mediaserver :5039  31

What I get in the end is:

gdb: Unable to get location for thread creation breakpoint: requested
event is not supported
__dl__start () at bionic/linker/arch/arm/begin.S:35
35              mov     r0, sp
gdb: Unable to get location for thread creation breakpoint: requested
event is not supported
Current language:  auto; currently asm
(gdb)


Shouldn't --attach just stop the running process? Is this output
nonsense or is the process actually restarting?

Regards
Michael







On Oct 15, 9:30 pm, fadden <fad...@android.com> wrote:
> On Oct 15, 7:08 am, Michael Richardson <m...@sandelman.ca> wrote:
>
> > (gdb) cd /build/m1
> > Working directory /build/m1
> >  (canonically /build/m2).
> > (gdb) file out/target/product/generic/symbols/system/bin/app_process
> > Reading symbols from /build/m2/out/target/product/generic/symbols/
> > system/bin/app_process...done.
> > (gdb) set solib-search-path out/target/product/generic/symbols/system/
> > lib
> [...]
> > This is with a physical device.  With an emulator, one has to, of
> > course, run the adb forward stuff. (Too bad that doesn't work with a
> > real device too, as then I would not need to run gdb over the
> > wireless)
>
> "adb forward" should work equally well with the emulator and with a
> real device.
>
> build/envsetup.sh has a "gdbclient" shell function that automates some
> of this; if you have a full source tree I recommend using it (or at
> least looking at it to see what it does).
>
> On the device:
>
> # gdbserver :5039 --attach pid
>
> On the host, just cd to the top of your source tree and type
> "gdbclient".  Magic happens (it assumes port 5039 is forwarded and
> you're debugging app_process).  If magic doesn't happen, try the steps
> individually:
>
> % cd <top-of-tree>
> % adb forward tcp:5039 tcp:5039
> % ./prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gdb out/
> target/product/<product-name>/symbols/system/bin/app_process
> (gdb) set solib-absolute-prefix /absolute-source-path/out/target/
> product/<product-name>/symbols
> (gdb) set solib-search-path /absolute-source-path/out/target/product/
> <product-name>/symbols/system/lib
> (gdb) target remote :5039
>
> Note in particular the use of absolute paths.  Last I checked, gdb
> provided no diagnostics if you got the path wrong.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to