㈠ corejump 怎麼用gdb調試
1: 對於在應用程序中加入參數進行調試的方法: 直接用 gdb app -p1 -p2 這樣進行調試是不行的。 需要像以下這樣使用: #gdb app (gdb) r -p1 -p2 或者在運行run命令前使用set args命令: (gdb) set args p1 p2 可以用show args 命令來查看 2. 加入斷點: break <linenumber> break <funcName> break +offset break -offset (在當前行號的前面或後面的offset行停住。) break filename:linenum 在源文件filename的linenum行處停住。 break filename:function 在源文件filename的function函數的入口處停住。 break ... if ...可以是上述的參數,condition表示條件,在條件成立時停住。比如在循環境體中,可以設置 break if i=100,表示當i為100時停住程序。 3. 查看運行時的堆棧: 使用bt命令 4. 列印某個變數的值: print val 5. 單步: n 繼續運行:c step 單步跟蹤,如果有函數調用,他會進入該函數。 next 同樣單步跟蹤,如果有函數調用,他不會進入該函數。很像VC等工具中的step over。後面可以加count也可以不加,不加表示一條條地執行,加表示執行後面的count條指令,然後再停住。 set step-mode set step-mode on 打開step-mode模式,於是,在進行單步跟蹤時,程序不會因為沒有debug信息而不停住。這個參數有很利於查看機器碼。 set step-mod off 關閉step-mode模式。 finish 運行程序,直到當前函數完成返回。並列印函數返回時的堆棧地址和返回值及參數值等信息。 until 或 u 當你厭倦了在一個循環體內單步跟蹤時,這個命令可以運行程序直到退出循環體。 6.在GDB中執行shell命令: 在gdb環境中,你可以執行UNIX的shell的命令,使用gdb的shell命令來完成: eg. shell make 7. 運行環境 可設定程序的運行路徑。 show paths 查看程序的運行路徑。 set environment varname [=value] 設置環境變數。如:set env USER=hchen show environment [varname] 查看環境變數。 8.觀察點(WatchPoint) 觀察點一般來觀察某個表達式(變數也是一種表達式)的值是否有變化了,如果有變化,馬上停住程 序。我們有下面的幾種方法來設置觀察點: watch 為表達式(變數)expr設置一個觀察點。一量表達式值有變化時,馬上停住程序。 rwatch 當表達式(變數)expr被讀時,停住程序。 awatch 當表達式(變數)的值被讀或被寫時,停住程序。 info watchpoints 列出當前所設置了的所有觀察點。 9. 維護breakpoint clear 清除所有的已定義的停止點。 clear func 清除所有設置在函數上的停止點。 delete [breakpoints] [range...] 刪除指定的斷點,breakpoints為斷點號。如果不指定斷點號,則表示刪除所有的斷點。range 表示斷點號的范圍(如:3-7)。其簡寫命令為d。 比刪除更好的一種方法是disable停止點,disable了的停止點,GDB不會刪除,當你還需要時,enable即可,就好像回收站一樣。 disable [breakpoints] [range...] disable所指定的停止點,breakpoints為停止點號。如果什麼都不指定,表示disable所有的停止 點。簡寫命令是dis. enable [breakpoints] [range...] enable所指定的停止點,breakpoints為停止點號。 10、程序變數 查看文件中某變數的值: file::variable function::variable 可以通過這種形式指定你所想查看的變數,是哪個文件中的或是哪個函數中的。例如,查看文件f2.c中的全局變數x的值: gdb) p 'f2.c'::x 查看數組的值 有時候,你需要查看一段連續的內存空間的值。比如數組的一段,或是動態分配的數據的大小。你可以使用GDB的「@」操作符,「@」的左邊是第一個內存的地址的值,「@」的右邊則你你想查看內存的長度。例如,你的程序中有這樣的語句: int *array = (int *) malloc (len * sizeof (int)); 於是,在GDB調試過程中,你可以以如下命令顯示出這個動態數組的取值: p *array@len 如果是靜態數組的話,可以直接用print數組名,就可以顯示數組中所有數據的內容了。 11.輸出格式 一般來說,GDB會根據變數的類型輸出變數的值。但你也可以自定義GDB的輸出的格式。例如,你想輸出一個整數的十六進制,或是二進制來查看這個整型變數的中的位的情況。要做到這樣,你可以使用GDB的數據顯示格式: x 按十六進制格式顯示變數。 d 按十進制格式顯示變數。 u 按十六進制格式顯示無符號整型。 o 按八進制格式顯示變數。 t 按二進制格式顯示變數。 a 按十六進制格式顯示變數。 c 按字元格式顯示變數。 f 按浮點數格式顯示變數。 (gdb) p i $21 = 101 (gdb) p/a i $22 = 0x65 (gdb) p/c i $23 = 101 'e' (gdb) p/f i $24 = 1.41531145e-43 (gdb) p/x i $25 = 0x65 (gdb) p/t i $26 = 1100101 11.查看內存 使用examine命令(簡寫是x)來查看內存地址中的值。x命令的語法如下所示: x/ n、f、u是可選的參數。 n 是一個正整數,表示顯示內存的長度,也就是說從當前地址向後顯示幾個地址的內容。 f 表示顯示的格式,參見上面。如果地址所指的是字元串,那麼格式可以是s,如果地十是指令地址,那麼格式可以是i。 u 表示從當前地址往後請求的位元組數,如果不指定的話,GDB默認是4個bytes。u參數可以用下面的字元來代替,b表示單位元組,h表示雙位元組,w表示四位元組,g表示八位元組。當我們指定了位元組長度後,GDB會從指內存定的內存地址開始,讀寫指定位元組,並把其當作一個值取出來。 n/f/u三個參數可以一起使用。例如: 命令:x/3uh 0x54320 表示,從內存地址0x54320讀取內容,h表示以雙位元組為一個單位,3表示三個單位,u表示按十六進制顯示。 12.自動顯示 你可以設置一些自動顯示的變數,當程序停住時,或是在你單步跟蹤時,這些變數會自動顯示。相關的GDB命令是display。 display display/ display/ expr expr是一個表達式,fmt表示顯示的格式,addr表示內存地址,當你用display設定好了一個或多個表達式後,只要你的程序被停下來,GDB會自動顯示你所設置的這些表達式的值。 格式i和s同樣被display支持,一個非常有用的命令是: display/i $pc undisplay delete display 刪除自動顯示,dnums意為所設置好了的自動顯式的編號。 disable display enable display disable和enalbe不刪除自動顯示的設置,而只是讓其失效和恢復。 info display 查看display設置的自動顯示的信息。GDB會打出一張表格,向你報告當然調試中設置了多少個自動顯示設置,其中包括,設置的編號,表達式,是否enable。 13. 設置顯示選項 set print address set print address on 打開地址輸出,當程序顯示函數信息時,GDB會顯出函數的參數地址。系統默認為打開的, show print address 查看當前地址顯示選項是否打開。 set print array set print array on 打開數組顯示,打開後當數組顯示時,每個元素佔一行,如果不打開的話,每個元素則以逗號分隔。這個選項默認是關閉的。與之相關的兩個命令如下,我就不再多說了。 set print array off show print array set print elements 這個選項主要是設置數組的,如果你的數組太大了,那麼就可以指定一個來指定數據顯示的最大長度,當到達這個長度時,GDB就不再往下顯示了。如果設置為0,則表示不限制。 show print elements 查看print elements的選項信息。 set print null-stop 如果打開了這個選項,那麼當顯示字元串時,遇到結束符則停止顯示。這個選項默認為off。 set print pretty on 如果打開printf pretty這個選項,那麼當GDB顯示結構體時會比較漂亮。 14.關於顯示源碼list
㈡ gdb怎麼用
先設計編輯源程序代碼,然後用gcc編譯器編譯程序,,再進入gdb調試環境,最後用gdb調試程序(1、查看源文件:在gdb中輸入「1」(list)就可以查看程序源代碼。2、設置斷點3、查看斷點信息4、運行程序:可以輸入「r」(run)開始運行程序5、查看變數值:調試程序重要手段就是查看斷點處會自動暫停,此時輸入「p變數名」可以查看制定變數的值6、單步運行:在斷點處輸入「n」或者「s」可單步運行7、繼續運行程序8、推出gdb環境。這是在linux下的C
㈢ linux中,shell的功能和特點
執行後台進程是內核的工作。Shell只是接受翻譯了用戶或程序發出的把進程轉入後台的命令的意思,然後把這個翻譯成的指令傳給了內核,內核接受後,成功,就把進程後置,失敗或許可權不足,都有一個返回碼,再把這個返回碼傳回Shell,Shell翻譯後,回顯給用戶。具體介紹查看《Linux就該這么學》。
㈣ 你好!我現在在學用Linux 的gdb。我想問一下,單步運行怎麼看gdb運行到了
可以說簡單些嗎?還是沒看懂
㈤ 如何用gdb調試erlang運行期
注意要點
有時候bug很難復現、或者環境搭建起來比較困難,所以在出現bug的時候可以使用gdb的attach功能調試正在運行的GCC編譯出來的程序,注意編譯選項要加-g,否則沒有符號表。
調試步驟
編譯時候帶-g選項。
運行程序。
ps找到進程號。
啟動gdb,使用attach選項,這時gdb會停止在程序的某處。
按照GDB調試方法調試。當程序退出之後,依然可以使用run命令重啟程序。
第一步 編譯一個死循環程序。
第二步 讓gdb連接到正在執行的進程上去。
第三步 在gdb中重啟程序。
㈥ 如何用GDB進行調試
1: 對於在應用程序中加入參數進行調試的方法:
直接用 gdb app -p1 -p2 這樣進行調試是不行的。
需要像以下這樣使用:
#gdb app
(gdb) r -p1 -p2
或者在運行run命令前使用set args命令:
(gdb) set args p1 p2
可以用show args 命令來查看
2. 加入斷點:
break <linenumber>
break <funcName>
break +offset
break -offset
(在當前行號的前面或後面的offset行停住。)
break filename:linenum
在源文件filename的linenum行處停住。
break filename:function
在源文件filename的function函數的入口處停住。
break ... if
...可以是上述的參數,condition表示條件,在條件成立時停住。比如在循環境體中,可以設置 break if i=100,表示當i為100時停住程序。
3. 查看運行時的堆棧:
使用bt命令
4. 列印某個變數的值:
print val
5. 單步: n
繼續運行:c
step
單步跟蹤,如果有函數調用,他會進入該函數。
next
同樣單步跟蹤,如果有函數調用,他不會進入該函數。很像VC等工具中的step over。後面可以加count也可以不加,不加表示一條條地執行,加表示執行後面的count條指令,然後再停住。
set step-mode
set step-mode on
打開step-mode模式,於是,在進行單步跟蹤時,程序不會因為沒有debug信息而不停住。這個參數有很利於查看機器碼。
set step-mod off
關閉step-mode模式。
finish
運行程序,直到當前函數完成返回。並列印函數返回時的堆棧地址和返回值及參數值等信息。
until 或 u
當你厭倦了在一個循環體內單步跟蹤時,這個命令可以運行程序直到退出循環體。
6.在GDB中執行shell命令:
在gdb環境中,你可以執行UNIX的shell的命令,使用gdb的shell命令來完成:
eg. shell make
7. 運行環境
可設定程序的運行路徑。
show paths 查看程序的運行路徑。
set environment varname [=value] 設置環境變數。如:set env USER=hchen
show environment [varname] 查看環境變數。
8.觀察點(WatchPoint)
觀察點一般來觀察某個表達式(變數也是一種表達式)的值是否有變化了,如果有變化,馬上停住程 序。我們有下面的幾種方法來設置觀察點:
watch
為表達式(變數)expr設置一個觀察點。一量表達式值有變化時,馬上停住程序。
rwatch
當表達式(變數)expr被讀時,停住程序。
awatch
當表達式(變數)的值被讀或被寫時,停住程序。
info watchpoints
列出當前所設置了的所有觀察點。
9. 維護breakpoint
clear
清除所有的已定義的停止點。
clear func
清除所有設置在函數上的停止點。
delete [breakpoints] [range...]
刪除指定的斷點,breakpoints為斷點號。如果不指定斷點號,則表示刪除所有的斷點。range 表示斷點號的范圍(如:3-7)。其簡寫命令為d。
比刪除更好的一種方法是disable停止點,disable了的停止點,GDB不會刪除,當你還需要時,enable即可,就好像回收站一樣。
disable [breakpoints] [range...]
disable所指定的停止點,breakpoints為停止點號。如果什麼都不指定,表示disable所有的停止 點。簡寫命令是dis.
enable [breakpoints] [range...]
enable所指定的停止點,breakpoints為停止點號。
10、程序變數
查看文件中某變數的值:
file::variable
function::variable
可以通過這種形式指定你所想查看的變數,是哪個文件中的或是哪個函數中的。例如,查看文件f2.c中的全局變數x的值:
gdb) p 'f2.c'::x
查看數組的值
有時候,你需要查看一段連續的內存空間的值。比如數組的一段,或是動態分配的數據的大小。你可以使用GDB的「@」操作符,「@」的左邊是第一個內存的地址的值,「@」的右邊則你你想查看內存的長度。例如,你的程序中有這樣的語句:
int *array = (int *) malloc (len * sizeof (int));
於是,在GDB調試過程中,你可以以如下命令顯示出這個動態數組的取值:
p *array@len
如果是靜態數組的話,可以直接用print數組名,就可以顯示數組中所有數據的內容了。
11.輸出格式
一般來說,GDB會根據變數的類型輸出變數的值。但你也可以自定義GDB的輸出的格式。例如,你想輸出一個整數的十六進制,或是二進制來查看這個整型變數的中的位的情況。要做到這樣,你可以使用GDB的數據顯示格式:
x 按十六進制格式顯示變數。
d 按十進制格式顯示變數。
u 按十六進制格式顯示無符號整型。
o 按八進制格式顯示變數。
t 按二進制格式顯示變數。
a 按十六進制格式顯示變數。
c 按字元格式顯示變數。
f 按浮點數格式顯示變數。
(gdb) p i
$21 = 101
(gdb) p/a i
$22 = 0x65
(gdb) p/c i
$23 = 101 'e'
(gdb) p/f i
$24 = 1.41531145e-43
(gdb) p/x i
$25 = 0x65
(gdb) p/t i
$26 = 1100101
11.查看內存
使用examine命令(簡寫是x)來查看內存地址中的值。x命令的語法如下所示:
x/
n、f、u是可選的參數。
n 是一個正整數,表示顯示內存的長度,也就是說從當前地址向後顯示幾個地址的內容。
f 表示顯示的格式,參見上面。如果地址所指的是字元串,那麼格式可以是s,如果地十是指令地址,那麼格式可以是i。
u 表示從當前地址往後請求的位元組數,如果不指定的話,GDB默認是4個bytes。u參數可以用下面的字元來代替,b表示單位元組,h表示雙位元組,w表示四位元組,g表示八位元組。當我們指定了位元組長度後,GDB會從指內存定的內存地址開始,讀寫指定位元組,並把其當作一個值取出來。
n/f/u三個參數可以一起使用。例如:
命令:x/3uh 0x54320 表示,從內存地址0x54320讀取內容,h表示以雙位元組為一個單位,3表示三個單位,u表示按十六進制顯示。
12.自動顯示
你可以設置一些自動顯示的變數,當程序停住時,或是在你單步跟蹤時,這些變數會自動顯示。相關的GDB命令是display。
display
display/
display/ expr
expr是一個表達式,fmt表示顯示的格式,addr表示內存地址,當你用display設定好了一個或多個表達式後,只要你的程序被停下來,GDB會自動顯示你所設置的這些表達式的值。
格式i和s同樣被display支持,一個非常有用的命令是:
display/i $pc
undisplay
delete display
刪除自動顯示,dnums意為所設置好了的自動顯式的編號。
disable display
enable display
disable和enalbe不刪除自動顯示的設置,而只是讓其失效和恢復。
info display
查看display設置的自動顯示的信息。GDB會打出一張表格,向你報告當然調試中設置了多少個自動顯示設置,其中包括,設置的編號,表達式,是否enable。
13. 設置顯示選項
set print address
set print address on
打開地址輸出,當程序顯示函數信息時,GDB會顯出函數的參數地址。系統默認為打開的,
show print address
查看當前地址顯示選項是否打開。
set print array
set print array on
打開數組顯示,打開後當數組顯示時,每個元素佔一行,如果不打開的話,每個元素則以逗號分隔。這個選項默認是關閉的。與之相關的兩個命令如下,我就不再多說了。
set print array off
show print array
set print elements
這個選項主要是設置數組的,如果你的數組太大了,那麼就可以指定一個來指定數據顯示的最大長度,當到達這個長度時,GDB就不再往下顯示了。如果設置為0,則表示不限制。
show print elements
查看print elements的選項信息。
set print null-stop
如果打開了這個選項,那麼當顯示字元串時,遇到結束符則停止顯示。這個選項默認為off。
set print pretty on
如果打開printf pretty這個選項,那麼當GDB顯示結構體時會比較漂亮。
14.關於顯示源碼list
㈦ gdb中有清屏命令嗎
gdb 沒有設定清屏命令,是因為gdb可以執行shell命令,在gdb中運行shell clear就完事了。
㈧ 誰知道.gdb格式的文件用什麼打開
GDB輕松調試
一、引言
在了解GDB可以做什麼,怎麼做之前,讓我們先來看看為什麼要用GDB,或者說對調試工具有什麼期望。
一般我們使用GDB(或其他調試工具)是為了發現程序bug,更經常地是在已知程序有錯的情況下定位bug。既然這樣,我們就需要跟蹤程序的執行情況,查看程序執行是否正常,當然這就需要有個讓我們與執行程序交互的環境,調試工具提供一個能讓程序在你的掌控下執行,並讓你能夠查看一些執行過程中的「內幕信息」的環境。
為了查看程序運行過程中的狀態,我們就希望程序能在適當的位置或者在一定的條件下能夠暫停運行;為此,調試工具提供了斷點、查看變數/表達式、顯示程序棧等功能。看了某個點的「內幕」後,我們還期望更多,所以要能控製程序運行才行,這就要求斷點、繼續運行、單步(多步)運行、進入函數運行等功能,在某些情況下,還需要通過修改當前的執行環境(變數等)來達到期望的執行順序。也就是說,光看著是不夠的,還需要能改才行。
理解了這些問題後,我們就明白GDB的各個功能的用意了,自然也就明白該如何使用調試工具了。當然,要讓GDB有效的發揮作用,還是需要一定的經驗與技巧,而這主要靠實踐,學習資料(包括本文)充其量只能幫你一把(小心別讓它幫倒忙)。
總而言之,我們首先要明白使用調試工具的目的和用意,才能理解它的各項功能,才能藉助它快速有效的發現問題;否則,即使工具再強大,你也不知道該如何使用才好。
另外要多結合使用代碼檢視、運行日誌、測試工具等方法來發現潛在的問題,提供程序的質量。這些問題將在另文探討,先做個廣告。
二、GDB能做什麼
GDB可以用來調試C、C++、Mola-2的程序。一般來說,GDB能做的事大致可以分為四類:
1、啟動程序,按指定的方式執行程序。
2、在指定條件下使程序暫停.
3、當程序被停住時,可以檢查此時你的程序中的變化。
4、改變程序中的變數或執行順序來試驗。
三、GDB使用概述
首先要了解的是gdb的help命令,因為你可能記不住各個命令的語法和用途,但只要能正確使用help命令,你就不需要任何其它的gdb資料。
啟動gdb後,輸入help
[eric@linux eric]$ gdb
GNU gdb Red Hat Linux (5.3.90-0.20030710.40rh)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show ing" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu".
(gdb) help
List of classes of commands:
aliases -- Aliases of other commands
breakpoints -- Making program stop at certain points
data -- Examining data
files -- Specifying and examining files
internals -- Maintenance commands
obscure -- Obscure features
running -- Running the program
stack -- Examining the stack
status -- Status inquiries
support -- Support facilities
tracepoints -- Tracing of program execution without stopping the program
user-defined -- User-defined commands
Type "help" followed by a class name for a list of commands in that class.
Type "help" followed by command name for full documentation.
Command name abbreviations are allowed if unambiguous.
(gdb)
如上文顯示,gdb的命令很多,所以把它分成許多個種類。help命令只是例出gdb的命令種類,如果要看某類中的命令,可以使用help <class> 命令,如:help breakpoints,查看設置斷點的所有命令。當如也可以直接help <command>來查看某個命令的具體信息。
gdb 技巧:在記不清整個命令時,可以只打命令的前一個或幾個字元,然後敲擊兩次TAB鍵來列出所有以這幾個字元開頭的命令;另為,大多命令都有縮寫,如b同 break,c同continue,n同next,p同print等。另為,一個命令在輸入能唯一標示命令的前綴後,按一下TAB鍵就能補齊命令的全稱,比如輸入ba後按一下TAB鍵,就自動補齊為backtrace,輸入pr後按一下TAB鍵就補齊為print。
為調試編譯代碼
為了使 gdb 正常工作, 你必須使你的程序在編譯時包含調試信息. 調試信息包含你程序里的每個變數的類型和在可執行文件里的地址映射以及源代碼的行號. gdb 利用這些信息使源代碼和機器碼相關聯.
在編譯時用 -g 選項打開調試選項.
在GDB中運行程序
當以gdb <program>方式啟動gdb後,可以使用r或是run命令運行程序。在程序運行之前,你有可能需要設置下面四方面的事。
1、程序運行參數。
set args 可指定運行時參數。(如:set args 10 20 30 40 50)
show args 命令可以查看設置好的運行參數。
2、運行環境。
path <dir> 可設定程序的運行路徑。
show paths 查看程序的運行路徑。
set environment varname [=value] 設置環境變數。如:set env USER=hchen
show environment [varname] 查看環境變數。
3、工作目錄。
cd <dir> 相當於shell的cd命令。
pwd 顯示當前的所在目錄。
4、程序的輸入輸出。
info terminal 顯示你程序用到的終端的模式。
使用重定向控製程序輸出。如:run > outfile
tty命令可以指寫輸入輸出的終端設備。如:tty /dev/ttyb
調試已運行的程序
可以有兩種方法調試已運行程序:
1、用ps查看正在運行的程序的進程ID,然後用gdb <program> PID格式掛接正在運行的程序。
2、先用gdb <program>關聯上程序,並進行gdb,在gdb中用attach命令來掛接程序正在運行的進程。detach可用來取消掛接的進程。
暫停/恢復程序運行
你可以使用info program 來查看程序的當前的執行狀態。
在gdb中,我們可以有以下幾種暫停方式:斷點(BreakPoint)、觀察點(WatchPoint)、捕捉點(CatchPoint)、信號(Signals)、線程停止(Thread Stops)。如果要恢復程序運行,可以使用c或是continue命令。
查看變數/表達式的值
可以使用print expr(或p expr)來查看程序變數/表達式的值
顯示程序棧
可以使用backtrace(或bt)來顯示程序棧
單步跟蹤
next [n] 執行下一條(或n條)語句,不進入子程序
step [n] 執行下一條(或n條)語句,進入子程序,可用finish從子程序返回
四、GDB常用命令
backtrace 顯示程序中的當前位置和表示如何到達當前位置的棧跟蹤(同義詞:where)
breakpoint 在程序中設置一個斷點
cd 改變當前工作目錄
clear 刪除剛才停止處的斷點
commands 命中斷點時,列出將要執行的命令
continue 從斷點開始繼續執行
delete 刪除一個斷點或監測點;也可與其他命令一起使用
display 程序停止時顯示變數和表達時
down 下移棧幀,使得另一個函數成為當前函數
frame 選擇下一條continue命令的幀
info 顯示與該程序有關的各種信息
jump 在源程序中的另一點開始運行
kill 異常終止在gdb 控制下運行的程序
list 列出相應於正在執行的程序的原文件內容
next 執行下一個源程序行,從而執行其整體中的一個函數
print 顯示變數或表達式的值
pwd 顯示當前工作目錄
pype 顯示一個數據結構(如一個結構或C++類)的內容
quit 退出gdb
reverse-search 在源文件中反向搜索正規表達式
run 執行該程序
search 在源文件中搜索正規表達式
set variable 給變數賦值
signal 將一個信號發送到正在運行的進程
step 執行下一個源程序行,必要時進入下一個函數
undisplay display命令的反命令,不要顯示表達式
until 結束當前循環
up 上移棧幀,使另一函數成為當前函數
watch 在程序中設置一個監測點(即數據斷點)
whatis 顯示變數或函數類型
命令的具體使用方法請用上面介紹的help查詢,看不明白的地方就多試試。
㈨ .gdb是什麼格式用啥軟體可以打開
.gdb格式的文件是GPS定位儀器所採集是定位數據通過儀器自動保存的文件,可利用MapSourse及GoogleEarth等軟體打開此文件,顯示的是定位數據