两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

線上flash的調(diào)試方法和系統(tǒng)的制作方法

文檔序號:6510056閱讀:285來源:國知局
線上flash的調(diào)試方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種線上flash的調(diào)試方法和系統(tǒng),所述方法包括:抓取瀏覽器運行flash程序時所述瀏覽器與web服務(wù)器之間的通信數(shù)據(jù),并根據(jù)所述通信數(shù)據(jù)定位flash程序中的第一出錯位置;將本地作為調(diào)試版本的flash程序替換到線上環(huán)境,在瀏覽器中運行,通過編譯器進行報錯定位和斷點調(diào)試得到第二出錯位置,以及修正所述第一出錯位置和所述第二出錯位置的程序。應(yīng)用本發(fā)明技術(shù)方案,能夠?qū)Πl(fā)布上線的flash進行調(diào)試,準確地定位問題,方便flash開發(fā)者進行完善。
【專利說明】線上flash的調(diào)試方法和系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機【技術(shù)領(lǐng)域】,特別是涉及一種線上flash的調(diào)試方法和系統(tǒng)。

【背景技術(shù)】
[0002]隨著flash技術(shù)的普及,在游戲或應(yīng)用開發(fā)中越來越多的使用flash技術(shù)。由于flash技術(shù)編譯的swf (shock wave flash,簡稱swf )格式的文件,必須等到加載觸發(fā)時才會運行。因此在很多情況下,只有在flash發(fā)布上線后,在線上運行環(huán)境才會暴露出一些問題。然而,目前并沒有規(guī)范有效的能夠調(diào)試線上flash的技術(shù)方案。


【發(fā)明內(nèi)容】

[0003]基于此,有必要提供一種線上flash的調(diào)試方法和系統(tǒng),能夠?qū)Πl(fā)布上線的flash進行調(diào)試,準確地定位問題,方便flash開發(fā)者進行完善。
[0004]一種線上flash的調(diào)試方法,包括:
[0005]抓取瀏覽器運行flash程序時所述瀏覽器與web服務(wù)器之間的通信數(shù)據(jù),并根據(jù)所述通信數(shù)據(jù)定位flash程序中的第一出錯位置;
[0006]將本地作為調(diào)試版本的flash程序替換到線上環(huán)境,在瀏覽器中運行,通過編譯器進行報錯定位和斷點調(diào)試得到第二出錯位置,以及修正所述第一出錯位置和所述第二出錯位置的程序。
[0007]一種線上flash的調(diào)試系統(tǒng),包括:
[0008]數(shù)據(jù)抓取模塊,用于抓取瀏覽器運行flash程序時所述瀏覽器與web服務(wù)器之間的通信數(shù)據(jù),并根據(jù)所述通信數(shù)據(jù)定位flash程序中的第一出錯位置;
[0009]調(diào)試模塊,用于將本地作為調(diào)試版本的flash程序替換到線上環(huán)境,在瀏覽器中運行,通過編譯器進行報錯定位和斷點調(diào)試得到第二出錯位置,以及修正所述第一出錯位置和所述第二出錯位置的程序。
[0010]上述線上flash的調(diào)試方法和系統(tǒng),通過抓取瀏覽器運行flash程序時瀏覽器與web服務(wù)器之間的通信數(shù)據(jù),并根據(jù)通信數(shù)據(jù)定位flash程序中數(shù)據(jù)傳輸相關(guān)部分中的出錯位置,以及將本地作為調(diào)試版本的flash程序替換到線上環(huán)境,通過編譯器對flash程序進行報錯定位和斷點調(diào)試,調(diào)試之后的flash程序可以重新發(fā)布以替換現(xiàn)有線上flash程序,因此本發(fā)明技術(shù)方案能夠?qū)Πl(fā)布上線的flash進行調(diào)試,準確地定位問題,方便flash開發(fā)者進行完善。

【專利附圖】

【附圖說明】
[0011]圖1為一個實施例中的線上flash調(diào)試方法的流程示意圖;
[0012]圖2為另一個實施例中的線上flash調(diào)試方法的流程示意圖;
[0013]圖3為一個實施例中的線上flash調(diào)試系統(tǒng)的結(jié)構(gòu)示意圖;
[0014]圖4為另一個實施例中的線上flash調(diào)試系統(tǒng)的結(jié)構(gòu)示意圖;
[0015]圖5是一個實施例中的性能監(jiān)控模塊的結(jié)構(gòu)示意圖。

【具體實施方式】
[0016]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0017]參見圖1,在一個實施例中,提供了一種線上flash調(diào)試方法,該方法的流程包括:
[0018]步驟102,抓取瀏覽器運行flash程序時瀏覽器與web服務(wù)器之間的通信數(shù)據(jù),并根據(jù)通信數(shù)據(jù)定位flash程序中的第一出錯位置。
[0019]在本實施例中,可以通過數(shù)據(jù)抓包工具抓取瀏覽器端與web服務(wù)器之間的雙向通信數(shù)據(jù),并對抓取的通信數(shù)據(jù)進行解析,對其中特定字段的值進行判斷,如果值不在預(yù)設(shè)的范圍之內(nèi),則可以推定程序的相關(guān)的第一出錯位置。
[0020]在一個實施例中,通過Charles工具抓取瀏覽器與web服務(wù)器之間的通信數(shù)據(jù)。在其它的實施例中,抓取瀏覽器與web服務(wù)器之間的通信數(shù)據(jù),還可以是通過SoapSDKWebservice抓包工具或者fiddler工具進行抓包。
[0021]Charles 工具是一個 http (http, hypertext transfer protocol,超文本傳輸協(xié)議)代理服務(wù)器,http監(jiān)視器以及反轉(zhuǎn)代理服務(wù)器。在使用Charles工具時,按照以下具體步驟操作:(1)開啟Charles,設(shè)置Charles工具的監(jiān)聽IP( IP, Internet Protocol,網(wǎng)絡(luò)協(xié)議)地址和監(jiān)聽端口,監(jiān)聽IP地址設(shè)置為本地IP地址:127.0.0.1 ;監(jiān)聽端口設(shè)置為未被本地進程占用的任一端口,例如端口 8011,設(shè)置該端口用于作為瀏覽器與web服務(wù)器雙向通信的端口。(2)在瀏覽器中設(shè)置代理服務(wù)器,將代理服務(wù)器IP地址和端口設(shè)置為與Charles工具的監(jiān)聽IP地址和監(jiān)聽端口相同,即代理服務(wù)器IP地址設(shè)置為本地IP地址,代理服務(wù)器端口設(shè)置為與Charles工具監(jiān)聽端口相同的端口,如8011。
[0022]在上述設(shè)置完成后,Charles工具可以抓取web服務(wù)器傳來的通信數(shù)據(jù),再遞交給瀏覽器,或者抓取瀏覽器發(fā)送的通信數(shù)據(jù),再遞交給web服務(wù)器。Charles工具可以對抓取的數(shù)據(jù)進行解析,例如當瀏覽器與web服務(wù)器交互通信的數(shù)據(jù)時基于AMF協(xié)議,Charles工具可以將抓取的基于AMF協(xié)議的二進制數(shù)據(jù)解析為對象(Object)的格式,又例如當瀏覽器與web服務(wù)器交互通信的數(shù)據(jù)為JSON (JSON7Java Script Object Notat1n,—種輕量級的數(shù)據(jù)交換格式)格式,Charles工具可以抓取JSON格式的數(shù)據(jù)并查看其中的數(shù)據(jù)內(nèi)容。利用Charles工具對抓取的數(shù)據(jù)進行解析,程序開發(fā)人員查看其中的數(shù)據(jù)內(nèi)容,從而推斷出程序出錯的位置,例如,對基于AMF協(xié)議的數(shù)據(jù),對其進行解析,得到含有“result”的字段,程序開發(fā)人員可以根據(jù)result字段的值,推斷出flash程序的運行結(jié)果,如果result字段的值超出預(yù)設(shè)的范圍,即表示相關(guān)程序出現(xiàn)錯誤。程序開發(fā)人員定位出出錯位置后,在后續(xù)的調(diào)試中,可以進行容錯或兼容處理。
[0023]步驟104,將本地作為調(diào)試版本的flash程序替換到線上環(huán)境,在瀏覽器中運行,通過編譯器進行報錯定位和斷點調(diào)試得到第二出錯位置,以及修正第一出錯位置和第二出錯位置的程序。
[0024]在flash程序發(fā)布上線后,即使運行出現(xiàn)錯誤,程序開發(fā)人員也不能進行調(diào)試,定位出出錯位置,因此需要將本地與編譯器相連的調(diào)試版本的flash程序,替換到線上環(huán)境運行,既可以保證flash程序的線上運行環(huán)境,也可以進行報錯定位,設(shè)置斷點調(diào)試。調(diào)試版本的flash程序的初始內(nèi)容與已發(fā)布上線的flash程序的內(nèi)容相同。
[0025]在一個實施例中,可以使用fiddler工具將本地作為調(diào)試版本的flash程序替換到線上環(huán)境。fiddler工具是一個http調(diào)試代理,設(shè)置斷點,能夠記錄并檢查本地與互聯(lián)網(wǎng)的http通訊,查看fiddler所有的“進出”數(shù)據(jù)。在使用fiddler工具時,按照以下具體步驟操作:(I)設(shè)置fiddler工具的監(jiān)聽IP地址和監(jiān)聽端口,fiddler工具與Charles工具結(jié)合使用時,監(jiān)聽IP地址、端口設(shè)置為相同的端口,監(jiān)聽IP地址設(shè)置為本地IP地址,監(jiān)聽端口設(shè)置為未被本地其它進程占用的任一端口 ;(2)在瀏覽器中設(shè)置代理服務(wù)器,將代理服務(wù)器IP地址和端口設(shè)置為與fiddler工具的監(jiān)聽IP地址和監(jiān)聽端口相同;(3)清空瀏覽器緩存,瀏覽器重新載入線上flash程序,使用fiddler工具抓取線上flash程序的地址;
(4)使用編譯器編譯本地作為調(diào)試版本的flash程序,并保持運行狀態(tài);(5)使用fiddler工具將抓取的線上flash程序替換為本地作為調(diào)試版本的flash程序的地址。
[0026]經(jīng)過上述操作,瀏覽器可以在線上環(huán)境中,通過fiddler工具運行本地存儲的作為調(diào)試版本的flash程序,使用fiddler工具進行報錯定位、斷點調(diào)試得到調(diào)試版本flash程序中的第二出錯位置(即程序中的bug),對于第一出錯位置和第二出錯位置,開發(fā)人員可以進行修正,再以斷點調(diào)試的方式確認無任何報錯,即完成調(diào)試。調(diào)試完成的flash程序,可以作為新的線上版本重新發(fā)布到線上,其處理過程可以但不限于參考傳統(tǒng)的發(fā)布處理,這里不再贅述。
[0027]上述線上flash調(diào)試方法,通過抓取瀏覽器運行flash程序時瀏覽器與web服務(wù)器之間的通信數(shù)據(jù),并根據(jù)通信數(shù)據(jù)定位flash程序中數(shù)據(jù)傳輸相關(guān)部分中的出錯位置,以及將本地作為調(diào)試版本的flash程序替換到線上環(huán)境,通過編譯器對flash程序進行報錯定位和斷點調(diào)試,調(diào)試之后的flash程序可以重新發(fā)布以替換現(xiàn)有線上flash程序,能夠?qū)Πl(fā)布上線的flash進行調(diào)試,準確地定位問題,方便flash開發(fā)者進行完善。
[0028]參見圖2,在一個實施例中,提供了一種線上flash的調(diào)試方法。其流程包括:
[0029]步驟202,抓取瀏覽器運行flash程序時瀏覽器與web服務(wù)器之間的通信數(shù)據(jù),并根據(jù)通信數(shù)據(jù)定位flash程序中的第一出錯位置。
[0030]步驟206,將本地作為調(diào)試版本的flash程序替換到線上環(huán)境,在瀏覽器中運行,通過編譯器進行報錯定位和斷點調(diào)試得到第二出錯位置,以及修正第一出錯位置和第二出錯位置的程序。
[0031]上述步驟202和步驟206分別可以參照步驟102以及步驟104來執(zhí)行,這里不再贅述。
[0032]在本實施例中,在步驟206通過fiddler進行斷點調(diào)試前,還可以包括執(zhí)行步驟204,對瀏覽器加載運行的線上flash程序進行性能監(jiān)控。
[0033]在一個實施例中,使用SwfProfiler工具對運行時flash程序的內(nèi)存占用量、程序域內(nèi)對象創(chuàng)建及銷毀情況進行監(jiān)控。在使用時,開啟SwfP1filer,并將其狀態(tài)開啟到運行狀態(tài),使用SwfProfiler捕獲瀏覽器運行flash程序的數(shù)據(jù)。捕獲成功后,可以在SwfProfiler界面中可以觀察內(nèi)存占用量曲線。
[0034]在使用SwfProfiler對內(nèi)存占用量進行監(jiān)控,例如程序開發(fā)人員可以根據(jù)經(jīng)驗值判斷內(nèi)存占用是否超標,如棋牌類游戲flash程序內(nèi)存占用量為300M以下,RPG (RPG,RolePlayed Games,角色扮演游戲)類的網(wǎng)頁游戲其內(nèi)存占用量為500?800M。當內(nèi)存超標時,在后續(xù)的調(diào)試中,可以根據(jù)具體問題進行處理,例如對flash程序內(nèi)的動畫控制部分進行修改,或壓縮圖片、動畫的資源體積。
[0035]在使用SwfP1filer對程序域內(nèi)對象創(chuàng)建及銷毀情況進行監(jiān)控時,可以根據(jù)內(nèi)存占用量曲線的平滑程度來判斷。曲線越平滑,說明程序域內(nèi)對象創(chuàng)建及銷毀情況比較合理,程序處于比較健康的狀態(tài)。如果曲線坡度比較陡,鋸齒密集,說明程序域內(nèi)頻繁的創(chuàng)建對象,隨著程序運行時間越久,產(chǎn)生的無用的對象會占用資源的開銷,這些對象可以稱之為“垃圾”,曲線越陡,鋸齒密集就說明“垃圾”回收機制啟動的越頻繁,程序開發(fā)人員就可以推定程序編寫不是一個健康的狀態(tài)。在后續(xù)的調(diào)試處理中,程序開發(fā)人員可以使用日志追蹤的方式,找到程序中頻繁創(chuàng)建對象的地方,對程序進行修改,例如移除相關(guān)代碼。
[0036]上述線上flash調(diào)試方法,不僅能夠?qū)Πl(fā)布上線的flash進行調(diào)試,準確地定位問題,還可以方便開發(fā)者對flash程序進一步監(jiān)控性能,從而優(yōu)化其所開發(fā)的flash程序。
[0037]參見圖3,在一個實施例中,提供了一種線上flash的調(diào)試系統(tǒng),包括:
[0038]數(shù)據(jù)抓取模塊302,用于抓取瀏覽器運行flash程序時瀏覽器與web服務(wù)器之間的通信數(shù)據(jù),并根據(jù)通信數(shù)據(jù)定位flash程序中的第一出錯位置。
[0039]調(diào)試模塊306,用于將本地作為調(diào)試版本的flash程序替換到線上環(huán)境,在瀏覽器中運行,通過編譯器進行報錯定位和斷點調(diào)試得到第二出錯位置,以及修正第一出錯位置和第二出錯位置的程序。
[0040]在本實施例中,數(shù)據(jù)抓取模塊302可以用于通過Charles工具抓取瀏覽器與web服務(wù)器之間的通信數(shù)據(jù)。調(diào)試模塊306可以用于通過使用fiddler工具將本地作為調(diào)試版本的flash程序替換到線上環(huán)境。
[0041]參見圖4,在另一個實施例中,一種線上flash的調(diào)試系統(tǒng),包括:
[0042]數(shù)據(jù)抓取模塊402,用于抓取瀏覽器運行flash程序時瀏覽器與web服務(wù)器之間的通信數(shù)據(jù),并根據(jù)通信數(shù)據(jù)定位flash程序中的第一出錯位置。
[0043]性能監(jiān)控模塊404,用于對瀏覽器加載運行的線上flash程序進行性能監(jiān)控。
[0044]調(diào)試模塊406,用于將本地作為調(diào)試版本的flash程序替換到線上環(huán)境,在瀏覽器中運行,通過編譯器進行報錯定位和斷點調(diào)試得到第二出錯位置,以及修正第一出錯位置和第二出錯位置的程序。
[0045]在本實施例中,數(shù)據(jù)抓取模塊402可以但不限于通過Charles工具抓取瀏覽器與web服務(wù)器之間的通信數(shù)據(jù)。
[0046]調(diào)試模塊406可以用于通過使用fiddler工具將本地作為調(diào)試版本的flash程序替換到線上環(huán)境。
[0047]在本實施例中,參見圖5,性能監(jiān)控模塊404包括內(nèi)存監(jiān)控單元4042和對象監(jiān)控單元4044。在本實施例中,性能監(jiān)控模塊304可以但不限于通過SwfProfiler工具來實現(xiàn)其功能,其中:
[0048]內(nèi)存監(jiān)控單元4042,用于對運行的flash程序的內(nèi)存占用量進行監(jiān)控。
[0049]對象監(jiān)控單元4044,用于對程序域內(nèi)對象創(chuàng)建及銷毀情況進行監(jiān)控。
[0050]以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。
【權(quán)利要求】
1.一種線上flash的調(diào)試方法,所述方法包括: 抓取瀏覽器運行flash程序時所述瀏覽器與web服務(wù)器之間的通信數(shù)據(jù),并根據(jù)所述通信數(shù)據(jù)定位flash程序中的第一出錯位置; 將本地作為調(diào)試版本的flash程序替換到線上環(huán)境,在瀏覽器中運行,通過編譯器進行報錯定位和斷點調(diào)試得到第二出錯位置,以及修正所述第一出錯位置和所述第二出錯位置的程序。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述抓取瀏覽器運行flash程序時所述瀏覽器與web服務(wù)器之間的通信數(shù)據(jù),包括通過Charles工具抓取所述瀏覽器與所述web服務(wù)器之間的通信數(shù)據(jù); 在所述通過Charles工具抓取所述瀏覽器與所述web服務(wù)器之間的通信數(shù)據(jù)的步驟之前,還包括: 設(shè)置Charles工具的監(jiān)聽IP地址和監(jiān)聽端口,所述監(jiān)聽IP地址設(shè)置為本地IP地址,所述監(jiān)聽端口設(shè)置為未被本地進程占用的任一端口; 在瀏覽器中設(shè)置代理服務(wù)器,將代理服務(wù)器IP地址和端口設(shè)置為與Charles工具的監(jiān)聽IP地址和監(jiān)聽端口相同。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將本地作為調(diào)試版本的flash程序替換到線上環(huán)境,包括使用fiddler工具將本地作為調(diào)試版本的flash程序替換到線上環(huán)境; 所述使用fiddler工具將本地作為調(diào)試版本的flash程序替換到線上環(huán)境的步驟,包括: 設(shè)置fiddler工具的監(jiān)聽IP地址和監(jiān)聽端口,所述監(jiān)聽IP地址設(shè)置為本地IP地址,所述監(jiān)聽端口設(shè)置為未被本地進程占用的任一端口; 在瀏覽器中設(shè)置代理服務(wù)器,將代理服務(wù)器IP地址和端口設(shè)置為與fiddler工具的監(jiān)聽IP地址和監(jiān)聽端口相同; 清空瀏覽器緩存,瀏覽器重新載入線上flash程序,使用fiddler工具抓取線上flash程序的地址; 使用編譯器編譯本地作為調(diào)試版本的flash程序,并保持運行狀態(tài); 使用fiddler工具將抓取的線上flash程序替換為本地作為調(diào)試版本的flash程序的地址。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 對瀏覽器加載運行的線上flash程序進行性能監(jiān)控。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述對瀏覽器加載運行的線上flash程序進行性能監(jiān)控,包括: 使用SwfProfiler工具對運行時flash程序的內(nèi)存占用量、程序域內(nèi)對象創(chuàng)建及銷毀情況進行監(jiān)控。
6.一種線上flash的調(diào)試系統(tǒng),其特征在于,所述系統(tǒng)包括: 數(shù)據(jù)抓取模塊,用于抓取瀏覽器運行flash程序時所述瀏覽器與web服務(wù)器之間的通信數(shù)據(jù),并根據(jù)所述通信數(shù)據(jù)定位flash程序中的第一出錯位置; 調(diào)試模塊,用于將本地作為調(diào)試版本的flash程序替換到線上環(huán)境,在瀏覽器中運行,通過編譯器進行報錯定位和斷點調(diào)試得到第二出錯位置,以及修正所述第一出錯位置和所述第二出錯位置的程序。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述數(shù)據(jù)抓取模塊用于通過Charles工具抓取所述瀏覽器與所述web服務(wù)器之間的通信數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述調(diào)試模塊用于通過使用fiddler工具將本地作為調(diào)試版本的flash程序替換到線上環(huán)境。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括性能監(jiān)控模塊,用于對瀏覽器加載運行的線上flash程序進行性能監(jiān)控。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述性能監(jiān)控模塊包括內(nèi)存監(jiān)控單元,用于對運行的flash程序的內(nèi)存占用量進行監(jiān)控; 對象監(jiān)控單元,用于對程序域內(nèi)對象創(chuàng)建及銷毀情況進行監(jiān)控。
【文檔編號】G06F11/36GK104424100SQ201310395327
【公開日】2015年3月18日 申請日期:2013年9月3日 優(yōu)先權(quán)日:2013年9月3日
【發(fā)明者】吳子燁 申請人:博雅網(wǎng)絡(luò)游戲開發(fā)(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
唐海县| 吴川市| 稷山县| 蒲江县| 册亨县| 手游| 庆云县| 乐山市| 沙雅县| 中山市| 三穗县| 张家口市| 新沂市| 银川市| 吉木萨尔县| 外汇| 花莲市| 九龙城区| 康马县| 自贡市| 如东县| 通河县| 新巴尔虎左旗| 哈尔滨市| 五家渠市| 靖边县| 梓潼县| 大埔县| 邹平县| 鞍山市| 浏阳市| 玉树县| 正阳县| 奈曼旗| 耿马| 镇平县| 邢台县| 云浮市| 大城县| 咸阳市| 青冈县|