<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>转烛空间调试 &#187; </title>
	<atom:link href="http://wangliping.net/tag/%e8%b0%83%e8%af%95/feed" rel="self" type="application/rss+xml" />
	<link>http://wangliping.net</link>
	<description>记录生活，学习技术</description>
	<lastBuildDate>Fri, 03 Sep 2010 06:29:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>如何调试跟踪Android源代码</title>
		<link>http://wangliping.net/android_debug</link>
		<comments>http://wangliping.net/android_debug#comments</comments>
		<pubDate>Fri, 18 Sep 2009 01:39:00 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[源码]]></category>
		<category><![CDATA[调试]]></category>
		<category><![CDATA[跟踪]]></category>

		<guid isPermaLink="false">http://blog.wangliping.net/%e5%a6%82%e4%bd%95%e8%b0%83%e8%af%95%e8%b7%9f%e8%b8%aaandroid%e6%ba%90%e4%bb%a3%e7%a0%81/</guid>
		<description><![CDATA[<br />]]></description>
			<content:encoded><![CDATA[<p>　　Android平台代码很多，关系也很复杂，通常我们调试程序的时候是无法跟踪到Android framework code里的，如果能调试跟踪Android source code将给我们这些初学者带来很多便利，本文将给出一个调试跟踪Android source code 的方法。</p>
<p>　　1.    首先，得到Android 源代码（可参考之前的文章--如何获取Android源代码并编译.doc），并且编译，得到output file，在(Android source)/out目录下，也可通过别的途径获取Android source code (以androidsrc.tgz为例) 和别人编译好的 output file(out.tgz)<span id="more-117"></span></p>
<p><img src="http://android.tgbus.com/UploadFiles_4504/200902/20090211134705662.jpg" border="0" alt="" hspace="0" /></p>
<p>　　2.    解压缩这两个 tgz 文件，并把解压出来的out 目录放到 myandroid 目录下，如下图所示。</p>
<p>　　3.    拷贝 myandroid\development\ide\eclipse\.classpath 到 myandroid\.classpath.</p>
<p>　　4.    拷贝 myandroid\out\target\product\generic\*.img 到 {Android SDK}\tools\lib\images 并且覆盖源文件.</p>
<p>　　5.    运行{Android SDK}\tools目录下的 emulator.exe.</p>
<p>　　6.    运行{Android SDK}\tools目录下的 ddms.bat。你可以看到下面的窗口，里面会列出当前emulator里跑的进程:<br />
<a href="http://www.tgbus.com/image.html?url=http://android.tgbus.com/UploadFiles_4504/200902/20090211134705517.jpg" target="_blank"><img src="http://android.tgbus.com/UploadFiles_4504/200902/20090211134705517.jpg" border="0" alt="" hspace="0" width="580" height="435" /></a></p>
<p>　　7.    启动 eclipse ，按照这个步骤 File-&gt;New-&gt;Java Project (不是 Android Project!) -&gt;Create project from existing source 选到 myandroid 目录 .</p>
<p align="center"><img src="http://android.tgbus.com/UploadFiles_4504/200902/20090211134705318.jpg" border="0" alt="" hspace="0" /></p>
<p>　　8.    在经过长时间等待之后，Android source code将被导入project，正常情况下应该没有error，但是会有很多warning，如果有error后面的debug将不会成功，原因可能是output file ，out.tgz在解压得过程中出错，重新copy out.tgz，或者完整拷贝 out/ 目录到本地目录下，即可解决。</p>
<p align="center"><img src="http://android.tgbus.com/UploadFiles_4504/200902/20090211134705969.jpg" border="0" alt="" hspace="0" /></p>
<p align="left">　　9.    选择想要调试的进程在 DDMS, 用 phone 进程为例，ddms一定要在eclipse之前启动，否则eclipse启动的时候也会启一个ddms，会造成冲突。</p>
<p align="center"><a href="http://www.tgbus.com/image.html?url=http://android.tgbus.com/UploadFiles_4504/200902/20090211134705802.jpg" target="_blank"><img src="http://android.tgbus.com/UploadFiles_4504/200902/20090211134705802.jpg" border="0" alt="" hspace="0" width="580" height="435" /></a></p>
<p>　　10. 在eclipse里, Run-&gt;Debug Configuration-&gt;Remote Java Application-&gt;New, 设置 Connection port to 8700 (DDMS’s 默认端口，你可以改变它).</p>
<p><a href="http://www.tgbus.com/image.html?url=http://android.tgbus.com/UploadFiles_4504/200902/20090211134705642.jpg" target="_blank"><img src="http://android.tgbus.com/UploadFiles_4504/200902/20090211134705642.jpg" border="0" alt="" hspace="0" width="580" height="464" /></a></p>
<p>　　11. 设置断点在source code，然后就可以像往常一样进行调试了。</p>
<p align="center"><a href="http://www.tgbus.com/image.html?url=http://android.tgbus.com/UploadFiles_4504/200902/20090211134705756.jpg" target="_blank"><img src="http://android.tgbus.com/UploadFiles_4504/200902/20090211134705756.jpg" border="0" alt="" hspace="0" width="580" height="362" /></a></p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/android-add-shortcut" title="Android添加桌面快捷图标">Android添加桌面快捷图标</a></li><li><a href="http://wangliping.net/android-ksoap2-weather" title="Android利用ksoap2写天气预报应用">Android利用ksoap2写天气预报应用</a></li><li><a href="http://wangliping.net/android-buttonbar-bottom" title="Android将ButtonBar放在屏幕底部">Android将ButtonBar放在屏幕底部</a></li><li><a href="http://wangliping.net/android-tab-bottom" title="Android将TAB选项卡放在屏幕底部">Android将TAB选项卡放在屏幕底部</a></li><li><a href="http://wangliping.net/android-x86-donut-r2" title="Android-x86 1.6-r2 釋出">Android-x86 1.6-r2 釋出</a></li><li><a href="http://wangliping.net/git-clone-spec-branch" title="git-clone指定branch">git-clone指定branch</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/android_debug/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
