客戶端崩潰定位方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及計算機(jī)技術(shù),特別涉及客戶端崩潰定位方法和設(shè)備。
【背景技術(shù)】
[0002]在網(wǎng)絡(luò)應(yīng)用開發(fā)過程中,客戶端經(jīng)常會頻繁更新,以便推出更多新鮮有趣的應(yīng)用來滿足用戶需求。
[0003]而頻繁更新客戶端,難免會出現(xiàn)各種漏洞(bug),在眾多bug之中,客戶端崩潰bug嚴(yán)重影響了網(wǎng)絡(luò)應(yīng)用的正常運(yùn)行。
[0004]由于客戶端環(huán)境的多樣性,導(dǎo)致客戶端崩潰的原因有多種,常用的方法都是依次手工分析客戶端在崩潰時上傳至內(nèi)存的內(nèi)存轉(zhuǎn)儲文件文件,這種方法效率低下且很難定位客戶端崩潰的原因。
【發(fā)明內(nèi)容】
[0005]本申請?zhí)峁┝丝蛻舳吮罎⒍ㄎ环椒ê驮O(shè)備,以提高崩潰原因的定位效率。
[0006]本申請?zhí)峁┑募夹g(shù)方案包括:
[0007]一種客戶端崩潰定位方法,包括:
[0008]對一段時間內(nèi)收集的客戶端崩潰時的內(nèi)存轉(zhuǎn)儲文件重命名,以供控制臺識別重命名后的內(nèi)存轉(zhuǎn)儲文件;
[0009]控制臺對重命名后的每一內(nèi)存轉(zhuǎn)儲文件進(jìn)行崩潰原因分析,得到每一內(nèi)存轉(zhuǎn)儲文件對應(yīng)的分析結(jié)果;
[0010]對內(nèi)存轉(zhuǎn)儲文件對應(yīng)的分析結(jié)果進(jìn)行分類,并確定每一類對應(yīng)的崩潰次數(shù);
[0011]定位出對應(yīng)的崩潰次數(shù)最多的類。
[0012]一種客戶端崩潰定位設(shè)備,該設(shè)備包括:
[0013]重命名單元,用于對一段時間內(nèi)收集的客戶端崩潰時的內(nèi)存轉(zhuǎn)儲文件重命名,以供控制臺識別重命名后的內(nèi)存轉(zhuǎn)儲文件;
[0014]接收單元,用于接收控制臺對重命名后的每一內(nèi)存轉(zhuǎn)儲文件進(jìn)行崩潰原因分析得到的每一內(nèi)存轉(zhuǎn)儲文件對應(yīng)的分析結(jié)果;
[0015]分類單元,用于對內(nèi)存轉(zhuǎn)儲文件對應(yīng)的分析結(jié)果進(jìn)行分類;
[0016]確定單元,用于確定每一類對應(yīng)的崩潰次數(shù);
[0017]定位單元,用于定位出對應(yīng)的崩潰次數(shù)最多的類。
[0018]由以上技術(shù)方案可以看出,本發(fā)明通過定位出對應(yīng)的崩潰次數(shù)最多的類,并針對該類分析崩潰原因,能夠保證最嚴(yán)重的bug優(yōu)先解決,提高崩潰原因的定位效率,避免現(xiàn)有通過手工方式平等處理bug所帶來的諸多問題。
【附圖說明】
[0019]圖1為本發(fā)明提供的方法流程圖;
[0020]圖2為本發(fā)明提供的設(shè)備結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0021]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述。
[0022]本發(fā)明提供了如圖1所示的方法流程。
[0023]參見圖1,圖1為本發(fā)明提供的方法流程圖。如圖1所示,該流程可包括:
[0024]步驟101,對一段時間內(nèi)收集的客戶端崩潰時的內(nèi)存轉(zhuǎn)儲文件重命名,以供控制臺識別重命名后的內(nèi)存轉(zhuǎn)儲文件。
[0025]在一段時間比如一周、一天等時間內(nèi)客戶端可能會崩潰多次,每次崩潰時客戶端都會將內(nèi)存轉(zhuǎn)儲文件(實(shí)質(zhì)為內(nèi)存快照)上傳給服務(wù)器。
[0026]基于此,本步驟101可從服務(wù)器收集一段時間內(nèi)的客戶端崩潰時的內(nèi)存轉(zhuǎn)儲文件,并對該收集的內(nèi)存轉(zhuǎn)儲文件進(jìn)行重命名,以供控制臺識別重命名后的內(nèi)存轉(zhuǎn)儲文件。
[0027]在客戶端在崩潰時的內(nèi)存轉(zhuǎn)儲文件的擴(kuò)展名是.Ul。而針對控制臺而言,其分析擴(kuò)展名是.dmp的內(nèi)存轉(zhuǎn)儲文件,基于此,本步驟101中,就對一段時間內(nèi)收集的客戶端崩潰時的內(nèi)存轉(zhuǎn)儲文件的擴(kuò)展名從.ul重命名為.dmp。
[0028]在本發(fā)明中,對一段時間內(nèi)客戶端在崩潰時上傳的內(nèi)存轉(zhuǎn)儲文件重命名是基于預(yù)先編譯的腳本語言比如python語言實(shí)現(xiàn)。
[0029]步驟102,控制臺對重命名后的每一內(nèi)存轉(zhuǎn)儲文件進(jìn)行崩潰原因分析,得到每一內(nèi)存轉(zhuǎn)儲文件對應(yīng)的分析結(jié)果。
[0030]本發(fā)明中,控制臺可按照控制臺調(diào)試橋(如windows下的⑶B進(jìn)程)的分析命令(! analyze-v)對重命名后的各個內(nèi)存轉(zhuǎn)儲文件進(jìn)行崩潰原因分析。
[0031]本發(fā)明中,每一內(nèi)存轉(zhuǎn)儲文件對應(yīng)的分析結(jié)果中至少包括回溯調(diào)用棧(stack)。
[0032]步驟103,對內(nèi)存轉(zhuǎn)儲文件對應(yīng)的分析結(jié)果進(jìn)行分類,并確定每一類對應(yīng)的崩潰次數(shù)。
[0033]本發(fā)明中,對內(nèi)存轉(zhuǎn)儲文件對應(yīng)的分析結(jié)果進(jìn)行分類可包括:
[0034]識別每一內(nèi)存轉(zhuǎn)儲文件對應(yīng)的分析結(jié)果所包含的stack,將具有相同回溯調(diào)用棧的分析結(jié)果確定為同一類。
[0035]比如,有三個內(nèi)存存儲文件,其對應(yīng)的分析結(jié)果分別為:分析結(jié)果1、分析結(jié)果2、分析結(jié)果3,其中,分析結(jié)果1、分析結(jié)果3包含stackl,分析結(jié)果2包含stack2,則認(rèn)為分析結(jié)果1、分析結(jié)果2屬于同一類(記為類I),分析結(jié)果2屬于一類(記為類2)。
[0036]還有,本發(fā)明中,確定每一類對應(yīng)的崩潰次數(shù)可包括:
[0037]針對每一類,確定該類所包含的分析結(jié)果的個數(shù),將確定的個數(shù)作為該類對應(yīng)的崩潰次數(shù)。
[0038]如上例,分析結(jié)果1、分析結(jié)果2屬于類1,分析結(jié)果2屬于類2,則就確定類I對應(yīng)的崩潰次數(shù)為2,類2對應(yīng)的崩潰次數(shù)為I。
[0039]需要說明的是,本發(fā)明中,步驟103是基于預(yù)先編譯的腳本語言比如python語言實(shí)現(xiàn)的。
[0040]步驟104,定位出對應(yīng)的崩潰次數(shù)最多的類。
[0041]在本發(fā)明中,可按照順序?qū)Ω鱾€類對應(yīng)的崩潰次數(shù)進(jìn)行排序,選取崩潰次數(shù)最多的類。通常,類對應(yīng)的崩潰次數(shù)越多,表示該類對應(yīng)的崩潰原因越嚴(yán)重,需要快速解決。通過先定位出對應(yīng)的崩潰次數(shù)最多的類,針對該類分析崩潰原因,能夠保證最嚴(yán)重的bug優(yōu)先解決,提高崩潰原因的定位效率,避免現(xiàn)有通過手工方式平等處理bug所帶來的諸多問題。
[0042]至此,完成圖1所示的流程。
[0043]在圖1所示流程中,作為本發(fā)明的一個實(shí)施例,本發(fā)明中,控制臺還可通過CDB進(jìn)程的時間(time)命令對重命名后的每一內(nèi)存轉(zhuǎn)儲文件分析出崩潰時間,將該崩潰時間與該內(nèi)存轉(zhuǎn)儲文件對應(yīng)的分析結(jié)果相關(guān)聯(lián)。
[0044]基于此,本發(fā)明中,還可進(jìn)一步執(zhí)行以下操作:
[0045]針對每一類,識別該類所包含的分析結(jié)果關(guān)聯(lián)的崩潰時間,通過圖表的形式將識別出的崩潰時間、以及該類對應(yīng)的崩潰次數(shù)進(jìn)行展示,這樣能夠使分析結(jié)果一目了然?;谠搱D表,可優(yōu)先定位崩潰次數(shù)多、且崩潰時間多的類,分析該類對應(yīng)的崩潰原因,這能夠保證最嚴(yán)重的bug優(yōu)先解決,提高崩潰原因的定位效率,避免現(xiàn)有通過手工方式平等處理bug所