Android's kernel debugger

3,508 views
Skip to first unread message

allstars

unread,
Nov 20, 2008, 2:38:49 AM11/20/08
to Android Linux Kernel Development
hello world
Android has announced that it enhances support for kernel debugger

where can i find the code for kernel debugger?

i have found other enhancements like alarm, ashmem, binder ,.... etc
but anyway i cannot find kernel debugger

and how should i do to do kernel debugging?
just take qemu for example....
Android has removed the -S option which freezes CPU at start-up

so can someone recommend what to do to kernel-debugging??

thanks




Frank Maker

unread,
Nov 20, 2008, 11:31:47 AM11/20/08
to android...@googlegroups.com
Where did you see their announcement for enhancing support for kernel
debugging?

I am also very interested in the best way to do kernel debugging.

--
Frank Maker
Graduate Student Researcher
University of California, Davis
Micropower Circuits and Systems Group (MCSG)
flm...@ece.ucdavis.edu

allstars

unread,
Nov 20, 2008, 10:03:22 PM11/20/08
to Android Linux Kernel Development

http://source.android.com/release-features

i think the source for kernel debugger is located in /mydroid/system/
core/adb/kdbg.c
and some other files

i just dont know how to use it yet



On Nov 21, 12:31 am, Frank Maker <frank.ma...@gmail.com> wrote:
> Where did you see their announcement for enhancing support for kernel
> debugging?
>
> I am also very interested in the best way to do kernel debugging.
>
> --
> Frank Maker
> Graduate Student Researcher
> University of California, Davis
> Micropower Circuits and Systems Group (MCSG)
> flma...@ece.ucdavis.edu

Mike Chan

unread,
Nov 21, 2008, 3:36:44 PM11/21/08
to android...@googlegroups.com
Perhaps you are referring to the msm_serial debugger? Which allows one to debug (limited) the kernel over serial on the msm arch.


CONFIG_MSM_SERIAL_DEBUGGER
--
MIke Chan

allstars

unread,
Nov 28, 2008, 11:47:52 PM11/28/08
to Android Linux Kernel Development
hi Mike
so far i just need to trace it by emulator on my PC
since ....i dont have a msm borad

and i just want to know how to easy-tracing Android kernel
for example , its initialization (before Zygote is initialized)

i think it will be efficient if i have a debugger
rather than just seeing printk by dmesg

thanks

Mike Chan

unread,
Dec 1, 2008, 12:20:25 PM12/1/08
to android...@googlegroups.com
You probably want kgdb for the goldfish platform, you may have to port kgdb to the goldfish platform. The patches my apply pretty cleanly though.

So for now, your best bet is printk's. If you do port kgdb to the goldfish platform please send your patches back to us.
--
MIke Chan

niklas

unread,
Dec 21, 2008, 6:48:15 PM12/21/08
to Android Linux Kernel Development
Well, it isn't very hard to debug the kernel in the emulator.
Configure the kernel by hand to include debugging symbols:
cd kernel
make menuconfig
Select Kernel hacking or whatever it is called and select the item
which says to compile the kernel with debugging info.
make
cd ..
When starting the emulator use sth like: (but change the openbsd refs
to linux)
out/host/openbsd-x86_64/bin/emulator -show-kernel -system out/target/
product/generic -kernel kernel/arch/arm/boot/zImage -logcat *:v -qemu
-monitor telnet::4444,server -s
then it will sit waiting for you to prepare your gdb session:
prebuilt/openbsd-x86_64/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gdb
kernel/vmlinux
(gdb) br sys_execve (or some other place you want to gain control)
(gdb) target remote localhost:1234
and then, in another window, release qemu by attaching to its monitor:
telnet localhost 4444
(qemu) cont

well it's somewhat from memory, but I suspect, the info given will
work with perhaps a few modifications...
I just hope that you are hunting for easier bugs than I am... :-)

Good luck



On Nov 29, 5:47 am, allstars <allstars....@gmail.com> wrote:
> hi Mike
> so far i just need to trace it by emulator on my PC
> since ....i dont have a msm borad
>
> and i just want to know how to easy-tracing Androidkernel
> for example , its initialization (before Zygote is initialized)
>
> i think it will be efficient if i have adebugger
> rather than just seeing printk by dmesg
>
> thanks
>
> On Nov 22, 4:36 am, "Mike Chan" <m...@android.com> wrote:
>
> > Perhaps you are referring to the msm_serialdebugger? Which allows one to
> > debug (limited) thekernelover serial on the msm arch.
>
> > CONFIG_MSM_SERIAL_DEBUGGER
>
> > On Thu, Nov 20, 2008 at 7:03 PM, allstars <allstars....@gmail.com> wrote:
>
> > >http://source.android.com/release-features
>
> > > i think the source forkerneldebuggeris located in /mydroid/system/

Niklas Hallqvist

unread,
Dec 21, 2008, 7:00:03 PM12/21/08
to android...@googlegroups.com
OK, I checked my from memory instructions up, and you
cannot issue the target remote command in gdb, before
you have started qemu from the monitor: so add a quick
(qemu) cont
(qemu) stop
thing in there. Of course that might mean you're missing real early
init, if so, and you need to debug that, you probably need to add -S
support to qemu
again, can't be too hard...

Niklas

Dejun Liu

unread,
Dec 30, 2008, 9:28:08 AM12/30/08
to android...@googlegroups.com
Hi all:
   Does anyone debug android kernel in qemu successful?,I have tried ,but failed ,emulator told me that it does not support the qemu option.does anyone add the qemu option to the android emulator?
 
steven

2008/12/22 Niklas Hallqvist <niklas...@appli.se>

Niklas Hallqvist

unread,
Jan 1, 2009, 6:02:21 AM1/1/09
to android...@googlegroups.com
I do it all the time.

Here's a paste of how I start the emulator. If this does no work you
are basing it of a different tree than I (do you use cupcake? maybe it's
changed there?)

/home/projects/android/mydroid/out/host/openbsd-x86_64/bin/emulator
-system out/target/product/generic -kernel kernel/arch/arm/boot/zImage
-show-kernel -logcat *:v -qemu -monitor telnet::4444,server -s

After this the emulator should start waiting for a telnet connection to
port 4444. Then I do:

telnet localhost 4444

and issue the "stop" command immediately. Right after the connect to
4444, the kernel should start listening on port 1234 for an ARM gdb to
attach to.

Niklas

Dejun Liu skrev:
> Hi all:
> Does anyone debug android kernel in qemu successful?,I have tried
> ,but failed ,emulator told me that it does not support the qemu
> option.does anyone add the qemu option to the android emulator?
>
> steven
>
> 2008/12/22 Niklas Hallqvist <niklas...@appli.se
> <mailto:niklas%2Bgo...@appli.se>>
> <mailto:allstars....@gmail.com>> wrote:
> >
> >> hi Mike
> >> so far i just need to trace it by emulator on my PC
> >> since ....i dont have a msm borad
> >>
> >> and i just want to know how to easy-tracing Androidkernel
> >> for example , its initialization (before Zygote is initialized)
> >>
> >> i think it will be efficient if i have adebugger
> >> rather than just seeing printk by dmesg
> >>
> >> thanks
> >>
> >> On Nov 22, 4:36 am, "Mike Chan" <m...@android.com
> <mailto:m...@android.com>> wrote:
> >>
> >>
> >>> Perhaps you are referring to the msm_serialdebugger? Which
> allows one to
> >>> debug (limited) thekernelover serial on the msm arch.
> >>>
> >>> CONFIG_MSM_SERIAL_DEBUGGER
> >>>
> >>> On Thu, Nov 20, 2008 at 7:03 PM, allstars
> <allstars....@gmail.com <mailto:allstars....@gmail.com>> wrote:
> >>>
> >>>> http://source.android.com/release-features
> >>>>
> >>>> i think the source forkerneldebuggeris located in /mydroid/system/
> >>>> core/adb/kdbg.c
> >>>> and some other files
> >>>>
> >>>> i just dont know how to use it yet
> >>>>
> >>>> On Nov 21, 12:31 am, Frank Maker <frank.ma...@gmail.com
> <mailto:frank.ma...@gmail.com>> wrote:
> >>>>
> >>>>> Where did you see their announcement for enhancing support
> forkernel
> >>>>> debugging?
> >>>>>
> >>>>> I am also very interested in the best way to dokerneldebugging.
> >>>>>
> >>>>> --
> >>>>> Frank Maker
> >>>>> Graduate Student Researcher
> >>>>> University of California, Davis
> >>>>> Micropower Circuits and Systems Group (MCSG)
> >>>>> flma...@ece.ucdavis.edu <mailto:flma...@ece.ucdavis.edu>

Dejun Liu

unread,
Jan 1, 2009, 9:42:41 PM1/1/09
to android...@googlegroups.com
Thanks Niklas,
 
I'm having a holiday now,I will try it later ,thks a lot.
 
Steven

2009/1/1 Niklas Hallqvist <niklas...@appli.se>
Reply all
Reply to author
Forward
0 new messages