使用GDB调试Android 4.0中的WebKit

来源:互联网 发布:传智python视频百度云 编辑:程序博客网 时间:2024/05/29 05:03

          使用GDB调试Android 4.0中的WebKit


      昨天在网上看到了有人用gdb调试Android中的WebKit,今天试了好一会儿,确实可行。

      以下是步骤:


      1. 进入android系统源码根目录,然后执行

                source build/envsetup.sh


      2. 启动模拟器,并打开浏览器

                emulator


      3. 在终端中执行                 

                adb forward tcp:5039 tcp:5039


       4. 打开另一个终端,执行

                adb shell ps

                找到 com.android.browser 进程号


       5. 执行

                adb shell gdbserver :5039 --attach pid

                pid为 com.android.browser 进行号

                正常反馈:

                 Attached; pid = **** 

                 Listening on port 5039


        6.  回到第一个终端,导出环境变量,adb, arm-eabi-gdb等的路径,在执行gdbclient报错时,可将相应的命令 的路径导出

                export PATH=/android/out/host/linux-x86/sdk/android-sdk_eng.suyong_linux-x86/platform-tools:$PATH
                export PATH=/android/prebuilt/./prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/:$PATH
                export PATH=/android/prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin:$PATH


                现在执行命令

                gdbclient

                成功的话就会加载一系列的符号表。试了一下设置断点,成功地在代码中中断了下来。下面要做的就                   是熟悉GDB调试命令了。


         7. 在gdb中设置断点                                                               

                  b  FrameLoaderClientAndroid.cpp:888


         8.  在模拟中用浏览器打开任一网页,就会进入断点了。


         我主要参考了http://blog.csdn.net/zouxueping/article/details/5877970,在此表示感谢,另外也参考了一下http://blog.csdn.net/dlmu2001/article/details/6904211 。

 

原创粉丝点击