Debug Howto - Android-X86 - Porting Android To x86
Debug Howto - Android-X86 - Porting Android To x86
Try this FREE Mobile Care web service to trace your android devices Search News Download Donate Get Source Installation Screenshots Hardware List Documentation App HowTo CustomizeKernel VirtualBoxHowTo QemuHowTo Sdcard HowTo UvesafbHowTo HowToConfigureBatteryService HowToMakeCameraToWork HowToUsePrebuildImages NFS How To Touch only device howto NDK HowTo Debug Howto Add new target How to wake up the machine How to make virtualbox ICH AC97 audio to work with android eclair-x86 How to boot the Android-x86 Live-CD when you have problems with your graphiccard Releases ReleaseNote 2.2-r2 ReleaseNote 2.2 ReleaseNote 1.6-r2 ReleaseNote 1.6 Build 20110828 Build 20110101 Build 20100812 Build 20100115 Build 20091113 Build 20091024
Documentation >
Debug Howto
This page explains how to use adb and gdbserver with VirtualBox
VMware Reporting www.VKernel.c Can Be Easy. Get VM Capacity & Reports with vOPS!
1. use adb: In the VirtualBox network configuration, it is simplest to configure it for Host-Only or Bridged. boot up Android iso image on the VirtualBox. setup ethernet (normally, it will do DHCP by default) find the IP address of the android VM, by going to the console <Alt-F1> and then typing: netcfg you can go back to the UI by pressing <Alt-F7> on you host machine, cd <android source code root directory>/out/host/linuxx86/bin/ ./adb kill-server ./adb connect <VirtualBox IP address>:5555, after this command, you should see something like below * daemon not running. starting it now * * daemon started successfully * connected to <VirtualBox IP address>:5555 ./adb logcat to dump the debug log 2. using adb with a NAT'ed VM The steps above work nicely if you have a VM which is set up to use Bridged or Host-Only adapters However, if you have a NAT'ed VM you cannot connect to the VM IP from the host You will need to set up port forwarding for a host port to be forwarded to the VM port 5555 (which is adb) VBoxManage modifyvm <VMName> --natpf1 adb,tcp,*,<localport>,*,5555 Example from one machine:
Build 20090916 Build 20090820 ReleaseNote v0.9 Contact Us Resources Sitemap Recent site activity
VBoxManage modifyvm froyo --natpf1 adb,tcp,*,5555,*,5555 Once this is done, you should see the local port (i.e. 5555 in this case) bound on the host via netstat -a You can now connect to the VM by adb localhost:5555 3. how to use gdb with gdbserver: Android-x86 comes with a preinstalled gdbserver. And you can find it in /sbin/gdbserver. To use gdb to debug your process, you need to: set up host-only network as mentioned earlier in the terminal emulator, run su in the terminal emulator, run gdbserver <VirtualBox ip address>:1234 [application binary name with the path] or [--attach pid] on your host machine, run gdb [path of your application binary] gdb > target remote <VirtualBox ip address>:1234 gdb > set solib-search-path <the path to all the shared library binaries> gdb > c 4. Stop zygote to run automatically: in the vendor/asus/eeepc/init.rc, change following lines service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server socket zygote stream 666 onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on to: service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server socket zygote stream 666 onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on disabled oneshot To start zygote manually just do "start zygote" from the command line.
Links
Nightly build server Google code project SourceForge project Browse the source Discussion group Issues tracker Blog beyounn Blog cwhuang Blog android-x86 Twitter android_x86 RSS for main page
Developers
Google apps Google sites Google mails Google docs Google calendar Google analytics
Sign in Recent Site Activity Terms Report Abuse Print page Powered by Google Sites