Ⅰ 如何安裝gdb
gdb安裝步驟如下:
1. 首先可以使用命令「 rpm -qa |grep gdb"查詢系統中是否安裝了gdb軟體包,如果安裝了,應該顯示如下:
[root@localhost ~]# rpm -qa |grep gdb
gdbm-1.8.0-26.2.1
gdb-6.8-37.el5
gdbm-devel-1.8.0-26.2.1
2. 如果系統沒有安裝gdb軟體包,需要先准備好gdb對應的軟體包,通常在系統光碟Server文件夾下;
3. 使用命令「rpm -ivh gdb-6.8-37.el5.rpm」或者類似的操作回車即可安裝;
4. 安裝結束後,再使用命令「rpm -qa |grep gdb"查詢,如果成功安裝了,應該顯示如下:
[root@localhost ~]# rpm -qa |grep gdb
gdb-6.8-37.el5
5. 如果安裝不成功,檢查一下錯誤信息,有可能是因為少安裝了一些關聯軟體,根據提示安裝即可。
Ⅱ 怎樣指定gdbserver運行的linux系統版本
目前linux社區主流的系統廠家有redhat 、debian、ubuntu、suse等幾個國外大商,在國內著名的有兩家,一家是中標普華,一家是紅旗。相比之下,國內的兩家linux廠商適合政府機構與oem廠商使用,而國外的廠家以redhat公司最為出名,因為redhat是目前linux社區走的最前沿的系統廠家,它不僅使用方便,而且社區維護的人比較多,如果有問題,更新比較方便,它旗下有兩條操作系統生產線,一條是桌面版生產線,命名為fedora系列,目前最新的是fedora7,這個操作系統目前集成了linux社區內較新的軟體,同時提供在線升級功能,而且使用的人也比較多,有問題好交流,更為主要的是該系統是完全免費的,具體的下載地址為fedoraproject/
Ⅲ android gdbserver 有什麼用
使用 SQL Server 代理服務連接到 SQL Server SQL Server 代理服務可以使用 Windows 身份驗證或 SQL Server 身份驗證連接到 SQL Server 本地實例。無論您選擇哪種身份驗證,帳戶都必須是 sysadmin 固定伺服器角色的成員。 可用身份驗證方法 SQL Server 代理可以使用兩種不同的身份驗證方法連接到 SQL Server 實例: Windows 身份驗證,使用這種方法時,SQL Server 代理服務使用定義為服務啟動帳戶的 Microsoft Windows 域帳戶連接到 SQL Server 實例。 SQL Server 身份驗證,使用這種方法時,SQL Server 代理服務使用 SQL Server 身份驗證登錄名連接到 SQL Server 實例。只有 sysadmin 角色的成員可以這樣登錄。 安全說明: 在 SQL Server 2005 中,SQL Server 代理不支持 SQL Server 身份驗證。僅在管理早期版本的 SQL Server 時可以使用這種身份驗證。
Ⅳ apk調試方法求助
方法一:
1、使用apktool的-d選項反編譯apk文件
java -jar apktool.jar d -d target.apk -o output
2、在AndroidManifest的application節點中添加 android:debuggable="true"
3、在入口點的類的onCreate中添加如下代碼等待調試
invoke-static{}, Landroid/os/Debug;->waitForDebugger()V
4、回編譯apk
java -jar apktool.jar b -d output -o newTarget.apk
5、對apk進行簽名
java -jar signapk.jar testkey.x509.pem testkey.pk8 newTarget.apk signed.apk
6、將簽名後的apk安裝到手機或者模擬器上
adb install signed.apk
7、將1中的smali代碼導入到Android Studio中
file→open→output目錄→下斷點
8、打開Monitor查找相應的進程
運行→monitor 或者Tools ->Android ->Android Device Monitor
9、配置遠程調試選項
Run→Editor Configurations→Defaults→Remote,點擊+號新增一個,Host為localhost,Port為8700
10、打開apk,點擊綠色的小蟲子就可以開始調試了
方法二:無需修改原apk文件
1、用 Android killer等工具反編譯apk文件
2、將smali代碼入到Android Studio中,安裝smaliidea插件
File→Settings→Plugins→Install plugin from disk…→Restart
3、配置遠程調試選項,打開monitor
4、使用adb以debug方式啟動apk
adb shell am start -D -n package/activitiyname
5、下斷點開始調試,在watch中添加寄存器http://www.315nk.com/不清楚追問,希望能幫助到您
Ⅳ 在arm-linux-gdb+gdbserver安裝過程總的問題
老大我才剛剛學linux昨天直接就安裝完成咯,你仔細看看…
Ⅵ 如何在安卓系統上使用arm-linux-gdb調試內核
1,先下載最新版本的gdb源代碼包,我使用的是gdb-7.6.tar.gz,使用tar命令進行解包(tar -xvzf gdb-7.6.tar.gz),cd進gdb-7.6/gdb目錄,使用vi找到remote.c中的如下代碼:
if(buf_len > 2 * rsa->sizeof_g_packet)
error(_("Remote 'g' packet reply is too long: %s"),rs->buf);
將上面兩行注釋掉,添加如下代碼
if(buf_len > 2 * rsa->sizeof_g_packet)
{
rsa->sizeof_g_packet = buf_len;
for(i = 0; i < gdbarch_num_regs(gdbarch); i++)
{
if(rsa->regs[i].pnum == -1)
continue;
if(rsa->regs[i].offset >= rsa->sizeof_g_packet)
rsa->regs[i].in_g_packet = 0;
else
rsa->regs[i].in_g_packet = 1;
}
}
使用如下命令對代碼進行配置、編譯和安裝
./configure --target=arm-linux --prefix=/usr/local/arm-gdb -v
make
make install
2,gdbserver使用android4.2模擬器中自帶的版本(v7.1)
3,將NDK編譯好的C/C++可執行程序,上傳到模擬器中/data/test目錄下,假設可執行程序的名稱為testHello。
4,使用命令:gdbserver :7000 /data/test/testHello 啟動模擬器端的調試。
5,啟動arm-linux-gdb之前,使用vi打開~/.bash_profile文件,在其中添加:
export PATH=$PATH:/usr/local/arm-gdb/bin,以便在程序的其他目錄可以直接啟動arm-linux-gdb程序
6,cd至ndk編譯好的testHello文件所在目錄
7,使用如下命令進行埠映射:adb forward tcp:7000 tcp:7000,將模擬器的7000埠和本機的7000埠進行映射
8,使用命令:arm-linux-gdb testHello啟動gdb調試
9,使用target remote :7000 鏈接模擬器中gdbserver啟動的服務。
10,自此,我們就可以使用gdb命令進行代碼調試了。
Ⅶ 如何使用arm-eabi-gdb調試android c/c++程序
1,先下載最新版本的gdb源代碼包,我使用的是gdb-7.6.tar.gz,使用tar命令進行解包(tar -xvzf gdb-7.6.tar.gz),cd進gdb-7.6/gdb目錄,使用vi找到remote.c中的如下代碼:
if(buf_len > 2 * rsa->sizeof_g_packet)
error(_("Remote 'g' packet reply is too long: %s"),rs->buf);
將上面兩行注釋掉,添加如下代碼
if(buf_len > 2 * rsa->sizeof_g_packet)
{
rsa->sizeof_g_packet = buf_len;
for(i = 0; i < gdbarch_num_regs(gdbarch); i++)
{
if(rsa->regs[i].pnum == -1)
continue;
if(rsa->regs[i].offset >= rsa->sizeof_g_packet)
rsa->regs[i].in_g_packet = 0;
else
rsa->regs[i].in_g_packet = 1;
}
}
使用如下命令對代碼進行配置、編譯和安裝
./configure --target=arm-linux --prefix=/usr/local/arm-gdb -v
make
make install
2,gdbserver使用android4.2模擬器中自帶的版本(v7.1)
3,將NDK編譯好的C/C++可執行程序,上傳到模擬器中/data/test目錄下,假設可執行程序的名稱為testHello。
4,使用命令:gdbserver :7000 /data/test/testHello 啟動模擬器端的調試。
5,啟動arm-linux-gdb之前,使用vi打開~/.bash_profile文件,在其中添加:
export PATH=$PATH:/usr/local/arm-gdb/bin,以便在程序的其他目錄可以直接啟動arm-linux-gdb程序
6,cd至ndk編譯好的testHello文件所在目錄
7,使用如下命令進行埠映射:adb forward tcp:7000 tcp:7000,將模擬器的7000埠和本機的7000埠進行映射
8,使用命令:arm-linux-gdb testHello啟動gdb調試
9,使用target remote :7000 鏈接模擬器中gdbserver啟動的服務。
10,自此,我們就可以使用gdb命令進行代碼調試了。
Ⅷ 在Android設備上怎麼調試守護進程
其實網上有很多類似的文章,但是你會發現幾乎都不可重現,要麼是細節沒講清楚,要麼是壓根自己沒有真正去試過。這里,我僅給出自己用gdb和gdbserver調試android native code的實際過程,希望對大家有用。
註:以調試mediaserver進程為例.
第一步:你需要下載android,以debug方式編譯,並以生成的image起模擬器或者設備。
第二步:你需要從「http://developer.download.nvidia.com/tegra/files/tegra-gdb-20100430.zip」下載一個gdb,覆蓋到android源碼中gdb對應的位置。
第三步:adb shell到設備,並起gdbserver偵聽目標進程:
adb shell
gdbserver :5039 /system/bin/mediaserver
第四步: 建立pc機和設備的消息連接:
adb forward tcp:5039 tcp:5039
第五步: 使用gdb調試目標進程:
cd android_src
prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gdb out/debug/target/proct/generic/symbols/system/bin/mediaserver
第六步: 設置符號表:
set solib-absolute-prefix /your_android_src_path/out/debug/target/proct/generic/symbols
set solib-search-path /your_android_src_path/out/debug/target/proct/generic/symbols/system/lib
第七步: 使gdb和gdb server建立連接:
target remote :5039
第八步: ok. 現在可以使用gdb的命令進行調試,譬如next\break\step\info thread等.
Ⅸ 請教gdbserver使用方法
方法是沒有問題的。不過你剛gdbserver以attach方式啟動調試的時候,你的程序應該是停在sleep()的庫函數裡面,
這個時候走單步一般會報「Cannot find bounds of current function」。
你啟動gdb之後把set debug remote 1 打開,然後把gdb側和gdbserver側的調試列印都貼上來看一下。