[kgtp] r1583 committed - Update doc

  • From: kgtp@xxxxxxxxxxxxxx
  • To: kgtp@xxxxxxxxxxxxx
  • Date: Thu, 30 May 2013 08:23:59 +0000

Revision: 1583
Author:   teawater
Date:     Thu May 30 01:23:36 2013
Log:      Update doc

http://code.google.com/p/kgtp/source/detail?r=1583

Modified:
 /wiki/HOWTO.wiki
 /wiki/HOWTOCN.wiki

=======================================
--- /wiki/HOWTO.wiki    Thu May 30 01:05:36 2013
+++ /wiki/HOWTO.wiki    Thu May 30 01:23:36 2013
@@ -306,7 +306,8 @@
So if your GDB is older than 7.6 please go to [https://code.google.com/p/gdbt/] to get howto install GDB for KGTP. It supplies sources of UBUBTU, CentOS, Fedora, Mandriva, RHEL, SLE, openSUSE. Also have static binary for others.<br> If you have issue about GDB please get help according to [HOWTO#Report_issues_about_KGTP].

-= Use GDB connect to KGTP =
+= How to let GDB connect to KGTP =
+To use KGTP function need let GDB connect to KGTP first.
 == Normal Linux ==
 === Insmod the KGTP module ===
 If you have installed KGTP in your system, you can:
@@ -434,7 +435,7 @@
 }}}
 Then this script will auto load the Linux kernel module's symbols to GDB.

-= Howto use GDB control KGTP trace Linux kernel =
+= Howto use GDB control KGTP trace and debug Linux kernel =
 == Direct access the current value in normal mode ==
After GDB connect to KGTP, if it doesn't select any a entry of trace frame bufffer with GDB command "tfind", GDB in the *normal mode*. Then you can direct access the current value of memory (Linux kernel or the user space program) and the trace state variables without stop anything.<br> If you have selected a trace frame entry, use GDB command "tfind -1" to return to normal mode. Please goto [#Use_tfind_select_the_entry_inside_the_trace_frame_info] get more info about GDB command "tfind".
=======================================
--- /wiki/HOWTOCN.wiki  Wed May 29 23:03:13 2013
+++ /wiki/HOWTOCN.wiki  Thu May 30 01:23:36 2013
@@ -304,10 +304,11 @@
所以如果你的GDB小于7.6请到 [https://code.google.com/p/gdbt/] 去安装可以和 KGTP一起使用的GDB。这里提供UBUBTU, CentOS, Fedora, Mandriva, RHEL, SLE, openSUSE源。其他系统还可以下载静态编译版本。<br> 如果你有GDB的问题,请根据这里的信息 [http://code.google.com/p/kgtp/wiki/HOWTOCN#需要帮助或者汇报问题]取得帮助。

-= 如何使用 =
-== 执行 ==
-=== 普通Linux ===
-==== 安装KGTP模块 ====
+
+= 如何让GDB连接KGTP =
+要使用KGTP的功能需要先让GDB连接到KGTP上。
+== 普通Linux ==
+=== 安装KGTP模块 ===
 如果你已经安装了KGTP在你的系统中,你可以:
 {{{
 sudo modprobe gtp
@@ -317,7 +318,7 @@
 cd kgtp/
 sudo insmod gtp.ko
 }}}
-==== 处理找不到"/sys/kernel/debug/gtp"的问题 ====
+=== 处理找不到"/sys/kernel/debug/gtp"的问题 ===
如果你有这个问题,请先确定你的内核config打开了"Debug Filesystem"。 [http://code.google.com/p/kgtp/wiki/HOWTOCN#如果你的系统内核是自己编译的 ]<br>

 如果它以及被打开了,请用下面命令mount sysfs。
@@ -332,9 +333,9 @@
 mount -t debugfs none /sys/kernel/debug/
 }}}
 然后你就找到"/sys/kernel/debug/gtp"。
-==== 让GDB连接到KGTP ====
+=== 让GDB连接到KGTP ===
请 *注意* 让GDB打开正确的vmlinux文件非常重要。请到 [http://code.google.com/p/kgtp/wiki/HOWTOCN#确定Linux内核调试镜像是正确的] 去看下如何做。
-===== GDB在本地主机上 =====
+==== GDB在本地主机上 ====
 {{{
 sudo gdb ./vmlinux
 (gdb) target remote /sys/kernel/debug/gtp
@@ -342,7 +343,7 @@
 0x0000000000000000 in ?? ()
 }}}
 然后你就可以用GDB命令调试和跟踪Linux内核了。
-===== 如果GDB在远程主机上 =====
+==== 如果GDB在远程主机上 ====
 用nc把KGTP接口映射到端口1024上。
 {{{
 sudo su
@@ -357,8 +358,8 @@
 }}}
 然后你就可以用GDB命令调试和跟踪Linux内核了。

-=== Android ===
-==== 安装KGTP模块 ===
+== Android ==
+=== 安装KGTP模块 ===
 *第一步* 确定ADB已经连接到Android上。<br>
 *第二步* 拷贝KGTP模块到Android上。
 {{{
@@ -369,7 +370,7 @@
 {{{
 adb shell insmod /gtp.ko
 }}}
-==== 处理找不到"/sys/kernel/debug/gtp"的问题 ====
+=== 处理找不到"/sys/kernel/debug/gtp"的问题 ===
如果你有这个问题,请先确定你的内核config打开了"Debug Filesystem"。 [http://code.google.com/p/kgtp/wiki/HOWTOCN#如果你的系统内核是自己编译的 ]<br>

 如果它以及被打开了,请用下面命令mount sysfs。
@@ -384,7 +385,7 @@
 mount -t debugfs none /sys/kernel/debug/
 }}}
 然后你就找到"/sys/kernel/debug/gtp"。
-===== GDB连接KGTP =====
+=== GDB连接KGTP ===
 用nc将KGTP接口映射到1024端口上。
 {{{
 adb forward tcp:1234 tcp:1234
@@ -399,11 +400,11 @@
 }}}
 然后你就可以用GDB命令调试和跟踪Linux内核了。

-== 增加模块的符号信息到GDB ==
+= 增加模块的符号信息到GDB =
 有时你需要添加一个Linux内核模块的符号信息到GDB好调试其。<br>
手动增加符号信息不太容易,所以KGTP包里包含了GDB Python脚本"getmod.py"和程 序"getmod"可以帮到你。

-=== 如何使用getmod ===
+== 如何使用getmod ==
 "getmod" 是用C写的所以你可以把它用在任何地方即使是一个嵌入式环境。<br>
 例如:
 {{{
@@ -430,13 +431,14 @@
 sudo ./getmod -r /home/teawater/kernel/b26 >~/tmp/mi
 }}}

-=== 如何使用getmod.py ===
+== 如何使用getmod.py ==
 在使用getmod.py前连接到KGTP。
 {{{
 (gdb) source ~/kgtp/getmod.py
 }}}
 于是这个脚本将自动装载Linux内核模块到GDB中。

+= 如何使用GDB控制KGTP跟踪和调试Linux内核 =
 == 在普通模式直接访问当前值 ==
在GDB连到KGTP上以后,如果没有用GDB命令"tfind"选择一条trace帧缓存里面的条 目,GDB就处于 *普通模式*。于是你可以直接访问内存(Linux内核或者用户程序)的值 和trace状态变量的值。<br> 如果你选择了一个trace帧条目,可以用GDB命令"tfind -1"返回到普通模式。请到 [http://code.google.com/p/kgtp/wiki/HOWTOCN#用tfind选择trace帧缓存里面的条目 ]取得GDB命令"tfind"的更多信息。

Other related posts:

  • » [kgtp] r1583 committed - Update doc - kgtp