本發(fā)明涉及應(yīng)用程序故障定位的
技術(shù)領(lǐng)域:
:,更具體地,涉及一種MacOS系統(tǒng)中應(yīng)用程序故障定位的方法及系統(tǒng)。
背景技術(shù):
::MacOS系統(tǒng)是基于尤尼斯(Unix)內(nèi)核的圖形化操作系統(tǒng),尤尼斯內(nèi)核能夠支持多種處理器架構(gòu),但是由于權(quán)限等問(wèn)題,一般情況下在普通個(gè)人計(jì)算機(jī)(personalcomputer,簡(jiǎn)稱(chēng)PC)上無(wú)法安裝該操作系統(tǒng)。在該系統(tǒng)中安裝應(yīng)用程序也需要先獲取該系統(tǒng)的權(quán)限,而應(yīng)用程序的開(kāi)發(fā)人員也需要登錄MacOS系統(tǒng)的門(mén)戶(hù)網(wǎng)站獲取管理權(quán)限,才能跟蹤獲取在客戶(hù)端上安裝的該開(kāi)發(fā)人員開(kāi)發(fā)的所有應(yīng)用程序?,F(xiàn)有的MacOS系統(tǒng)下,只有在應(yīng)用程序崩潰時(shí)才會(huì)生成崩潰日志,并在用戶(hù)主動(dòng)發(fā)送的情況下,系統(tǒng)才會(huì)把生成的崩潰日志發(fā)送至開(kāi)發(fā)人員的門(mén)戶(hù)網(wǎng)站賬戶(hù)。而開(kāi)發(fā)人員也只能通過(guò)登錄門(mén)戶(hù)網(wǎng)站賬戶(hù)才能獲取到用戶(hù)發(fā)送的應(yīng)用程序崩潰日志,進(jìn)而查看各個(gè)版本應(yīng)用程序的崩潰情況。但是現(xiàn)有的這種開(kāi)發(fā)人員通過(guò)登錄門(mén)戶(hù)網(wǎng)站賬戶(hù)獲取崩潰日志的方式,存在以下弊端:(1)、不能結(jié)合用戶(hù)使用環(huán)境生成應(yīng)用程序崩潰或異常的詳細(xì)的日志信息,開(kāi)發(fā)人員不能根據(jù)用戶(hù)的使用環(huán)境及應(yīng)用程序的邏輯準(zhǔn)確定位到系統(tǒng)中出現(xiàn)異?;驊?yīng)用程序崩潰的具體位置;(2)、由于應(yīng)用程序的開(kāi)發(fā)環(huán)境與用戶(hù)的使用環(huán)境不同,從用戶(hù)回傳的崩潰日志中不能為開(kāi)發(fā)人員提供用戶(hù)使用該應(yīng)用程序的環(huán)境及用戶(hù)操作步驟,開(kāi)發(fā)人員也不能基于該崩潰日志為用戶(hù)尋求解決辦法;(3)、在系統(tǒng)中應(yīng)用程序崩潰時(shí),不能及時(shí)聯(lián)系開(kāi)發(fā)人員進(jìn)行定位解決問(wèn)題,只有在開(kāi)發(fā)人員登錄戶(hù)名網(wǎng)站后才能獲取崩潰日志再尋求相應(yīng)的解決方案,不利于用戶(hù)使用體驗(yàn);(4)、現(xiàn)有的系統(tǒng)中只有在應(yīng)用程序崩潰時(shí)才向開(kāi)發(fā)人員回傳崩潰日志,對(duì)于其它應(yīng)用程序卡死、運(yùn)行異常等非崩潰的問(wèn)題不起作用,不利于用戶(hù)對(duì)應(yīng)用程式的使用體驗(yàn)。因此,提供一種適用于MacOS系統(tǒng)中應(yīng)用程序故障定位的方案是本領(lǐng)域亟待解決的問(wèn)題。技術(shù)實(shí)現(xiàn)要素:有鑒于此,本發(fā)明提供了一種MacOS系統(tǒng)中應(yīng)用程序故障定位的方法及系統(tǒng),解決了現(xiàn)有技術(shù)中MacOS系統(tǒng)中應(yīng)用程序故障不能準(zhǔn)確定位并及時(shí)反饋給開(kāi)發(fā)人員的問(wèn)題。為了解決上述技術(shù)問(wèn)題,本發(fā)明提出一種MacOS系統(tǒng)中應(yīng)用程序故障定位的方法,包括:設(shè)置當(dāng)所述MacOS系統(tǒng)中應(yīng)用程序檢測(cè)到故障日志信息時(shí),利用消息重定向截獲所述故障日志信息,并根據(jù)預(yù)定的保存路徑將所述故障日志信息保存到所述MacOS系統(tǒng)中應(yīng)用程序在本地的沙盒中;在所述MacOS系統(tǒng)中應(yīng)用程序的預(yù)定位置加入運(yùn)行記錄日志,運(yùn)行所述MacOS系統(tǒng)中應(yīng)用程序并通過(guò)所述運(yùn)行記錄日志記錄該應(yīng)用程序的運(yùn)行狀態(tài)及運(yùn)行位置,將所述運(yùn)行記錄日志按記錄時(shí)間先后順序保存在對(duì)應(yīng)的沙盒中;其中,在所述沙盒中的所述運(yùn)行記錄日志的數(shù)量超過(guò)預(yù)定個(gè)數(shù)時(shí),按照所述記錄時(shí)間先后順序倒序保留所述預(yù)定個(gè)數(shù)的所述運(yùn)行記錄日志;檢測(cè)到所述MacOS系統(tǒng)中應(yīng)用程序在運(yùn)行過(guò)程中出現(xiàn)故障時(shí),根據(jù)所述運(yùn)行記錄日志及用戶(hù)信息生成帶有應(yīng)用程序故障位置的故障日志信息,利用消息重定向截獲所述帶有應(yīng)用程序故障位置的故障日志信息并保存在所述沙盒中;同時(shí)所述MacOS系統(tǒng)中應(yīng)用程序根據(jù)所述帶有應(yīng)用程序故障位置的故障日志信息生成故障處理界面并展示給用戶(hù);所述MacOS系統(tǒng)中應(yīng)用程序接收處理所述帶有應(yīng)用程序故障位置的故障日志信息的請(qǐng)求,根據(jù)所述請(qǐng)求從對(duì)應(yīng)的沙盒中獲取所述帶有應(yīng)用程序故障位置的故障日志信息,并利用超文本傳輸協(xié)議傳輸所述帶有應(yīng)用程序故障位置的故障日志信息。進(jìn)一步地,其中,在所述沙盒中的所述運(yùn)行記錄日志的數(shù)量超過(guò)預(yù)定個(gè)數(shù)時(shí),按照所述記錄時(shí)間先后順序倒序保留所述預(yù)定個(gè)數(shù)的所述運(yùn)行記錄日志,進(jìn)一步為:在所述運(yùn)行記錄日志大小達(dá)到或超過(guò)預(yù)先設(shè)定的日志大小閾值時(shí),根據(jù)當(dāng)前的記錄時(shí)間在所述沙盒內(nèi)新建一個(gè)運(yùn)行記錄日志,用于繼續(xù)記錄所述MacOS系統(tǒng)中應(yīng)用程序的運(yùn)行狀態(tài)及運(yùn)行位置;在所述沙盒中的所述運(yùn)行記錄日志的數(shù)量超過(guò)預(yù)定個(gè)數(shù)時(shí),按照所述記錄時(shí)間先后順序倒序保留所述預(yù)定個(gè)數(shù)的所述運(yùn)行記錄日志。進(jìn)一步地,其中,所述日志大小閾值為2-5兆;所述預(yù)定個(gè)數(shù)為5-10個(gè)。進(jìn)一步地,其中,所述MacOS系統(tǒng)中應(yīng)用程序接收處理所述帶有應(yīng)用程序故障位置的故障日志信息的請(qǐng)求,根據(jù)所述請(qǐng)求從對(duì)應(yīng)的沙盒中獲取所述帶有應(yīng)用程序故障位置的故障日志信息,并利用超文本傳輸協(xié)議傳輸所述帶有應(yīng)用程序故障位置的故障日志信息,進(jìn)一步為:所述MacOS系統(tǒng)中應(yīng)用程序接收處理所述故障日志信息的請(qǐng)求,解析所述請(qǐng)求并判斷到為遠(yuǎn)程控制請(qǐng)求時(shí),根據(jù)所述遠(yuǎn)程控制請(qǐng)求連接到開(kāi)發(fā)人員,并顯示出所述故障日志信息;判斷到所述請(qǐng)求為非遠(yuǎn)程控制請(qǐng)求時(shí),根據(jù)所述請(qǐng)求從本地獲取所述故障日志信息,并利用超文本傳輸協(xié)議傳輸所述帶有應(yīng)用程序故障位置的故障日志信息。進(jìn)一步地,其中,所述預(yù)定位置,包括:應(yīng)用程序中界面入口位置、功能模塊交互位置及播放開(kāi)始和結(jié)束位置。另一方面,本發(fā)明還提供一種MacOS系統(tǒng)中應(yīng)用程序故障定位的系統(tǒng),包括:故障設(shè)置模塊、運(yùn)行記錄日志保存模塊、故障處理模塊及故障日志信息處理模塊;其中,所述故障設(shè)置模塊,用于設(shè)置當(dāng)所述MacOS系統(tǒng)中應(yīng)用程序檢測(cè)到故障日志信息時(shí),利用消息重定向截獲所述故障日志信息,并根據(jù)預(yù)定的保存路徑將所述故障日志信息保存到所述MacOS系統(tǒng)中應(yīng)用程序在本地的沙盒中;所述運(yùn)行記錄日志保存模塊,用于在所述MacOS系統(tǒng)中應(yīng)用程序的預(yù)定位置加入運(yùn)行記錄日志,運(yùn)行所述MacOS系統(tǒng)中應(yīng)用程序并通過(guò)所述運(yùn)行記錄日志記錄該應(yīng)用程序的運(yùn)行狀態(tài)及運(yùn)行位置,將所述運(yùn)行記錄日志按記錄時(shí)間先后順序保存在對(duì)應(yīng)的沙盒中;其中,在所述沙盒中的所述運(yùn)行記錄日志的數(shù)量超過(guò)預(yù)定個(gè)數(shù)時(shí),按照所述記錄時(shí)間先后順序倒序保留所述預(yù)定個(gè)數(shù)的所述運(yùn)行記錄日志;所述故障處理模塊,用于檢測(cè)到所述MacOS系統(tǒng)中應(yīng)用程序在運(yùn)行過(guò)程中出現(xiàn)故障時(shí),根據(jù)所述運(yùn)行記錄日志及用戶(hù)信息生成帶有應(yīng)用程序故障位置的故障日志信息,利用消息重定向截獲所述帶有應(yīng)用程序故障位置的故障日志信息并保存在所述沙盒中;同時(shí)所述MacOS系統(tǒng)中應(yīng)用程序根據(jù)所述帶有應(yīng)用程序故障位置的故障日志信息生成故障處理界面并展示給用戶(hù);所述故障日志信息處理模塊,用于所述MacOS系統(tǒng)中應(yīng)用程序接收處理所述帶有應(yīng)用程序故障位置的故障日志信息的請(qǐng)求,根據(jù)所述請(qǐng)求從對(duì)應(yīng)的沙盒中獲取所述帶有應(yīng)用程序故障位置的故障日志信息,并利用超文本傳輸協(xié)議傳輸所述帶有應(yīng)用程序故障位置的故障日志信息。進(jìn)一步地,其中,所述運(yùn)行記錄日志保存模塊,進(jìn)一步用于:在所述運(yùn)行記錄日志大小達(dá)到或超過(guò)預(yù)先設(shè)定的日志大小閾值時(shí),根據(jù)當(dāng)前的記錄時(shí)間在所述沙盒內(nèi)新建一個(gè)運(yùn)行記錄日志,用于繼續(xù)記錄所述MacOS系統(tǒng)中應(yīng)用程序的運(yùn)行狀態(tài)及運(yùn)行位置;在所述沙盒中的所述運(yùn)行記錄日志的數(shù)量超過(guò)預(yù)定個(gè)數(shù)時(shí),按照所述記錄時(shí)間先后順序倒序保留所述預(yù)定個(gè)數(shù)的所述運(yùn)行記錄日志。進(jìn)一步地,其中,所述日志大小閾值為2-5兆;所述預(yù)定個(gè)數(shù)為5-10個(gè)。進(jìn)一步地,其中,所述故障日志信息處理模塊,進(jìn)一步用于:所述MacOS系統(tǒng)中應(yīng)用程序接收處理所述故障日志信息的請(qǐng)求,解析所述請(qǐng)求并判斷到為遠(yuǎn)程控制請(qǐng)求時(shí),根據(jù)所述遠(yuǎn)程控制請(qǐng)求連接到開(kāi)發(fā)人員,并顯示出所述故障日志信息;判斷到所述請(qǐng)求為非遠(yuǎn)程控制請(qǐng)求時(shí),根據(jù)所述請(qǐng)求從本地獲取所述故障日志信息,并利用超文本傳輸協(xié)議傳輸所述帶有應(yīng)用程序故障位置的故障日志信息。進(jìn)一步地,其中,所述預(yù)定位置,包括:應(yīng)用程序中界面入口位置、功能模塊交互位置及應(yīng)用程序中播放器播放開(kāi)始和結(jié)束位置。與現(xiàn)有技術(shù)相比,本發(fā)明的MacOS系統(tǒng)中應(yīng)用程序故障定位的方法及系統(tǒng),實(shí)現(xiàn)了如下的有益效果:(1)本發(fā)明所述的MacOS系統(tǒng)中應(yīng)用程序故障定位的方法及系統(tǒng),在MacOS系統(tǒng)的應(yīng)用程序中加入日志信息,通過(guò)消息重定向方法獲取應(yīng)用程序運(yùn)行的日志信息,經(jīng)過(guò)重定向后傳輸至系統(tǒng)存儲(chǔ)應(yīng)用程序源文件的沙盒目錄中,在應(yīng)用程序中將該日志信息直接發(fā)送至應(yīng)用程序開(kāi)發(fā)人員,使得開(kāi)發(fā)人員能夠快捷、準(zhǔn)確地獲取應(yīng)用程序故障日志信息,進(jìn)而從日志信息中準(zhǔn)確定位故障,提升了用戶(hù)使用體驗(yàn)。(2)本發(fā)明所述的MacOS系統(tǒng)中應(yīng)用程序故障定位的方法及系統(tǒng),通過(guò)消息重定向方法獲取應(yīng)用程序運(yùn)行故障的日志信息,直接發(fā)送至開(kāi)發(fā)人員,并根據(jù)實(shí)際情況,清理系統(tǒng)的日志信息,只保留最新的日志信息,減輕了系統(tǒng)的壓力,提升了系統(tǒng)中應(yīng)用程序故障定位的效果。(3)本發(fā)明所述的MacOS系統(tǒng)中應(yīng)用程序故障定位的方法及系統(tǒng),可以在開(kāi)發(fā)過(guò)程在容易導(dǎo)致問(wèn)題的地方添加日志信息,在應(yīng)用程序出現(xiàn)問(wèn)題時(shí),方便定位問(wèn)題;可以定位應(yīng)用程序卡死的、顯示異常等非崩潰問(wèn)題,相對(duì)于現(xiàn)有技術(shù)中只能定位奔潰問(wèn)題,功能性更全面;可以實(shí)現(xiàn)在用戶(hù)使用環(huán)境下進(jìn)行故障定位,方便開(kāi)發(fā)人員在用戶(hù)使用環(huán)境下可以更準(zhǔn)確地復(fù)現(xiàn)和解決故障問(wèn)題。當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品必不特定需要同時(shí)達(dá)到以上所述的所有技術(shù)效果。通過(guò)以下參照附圖對(duì)本發(fā)明的示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其它特征及其優(yōu)點(diǎn)將會(huì)變得清楚。附圖說(shuō)明被結(jié)合在說(shuō)明書(shū)中并構(gòu)成說(shuō)明書(shū)的一部分的附圖示出了本發(fā)明的實(shí)施例,并且連同其說(shuō)明一起用于解釋本發(fā)明的原理。圖1為本發(fā)明實(shí)施例1中所述MacOS系統(tǒng)中應(yīng)用程序故障定位的方法的流程示意圖;圖2為本發(fā)明實(shí)施例2中所述MacOS系統(tǒng)中應(yīng)用程序故障定位的方法的流程示意圖;圖3為本發(fā)明實(shí)施例3中所述MacOS系統(tǒng)中應(yīng)用程序故障定位的方法的流程示意圖;圖4為本發(fā)明實(shí)施例4中所述MacOS系統(tǒng)中應(yīng)用程序故障定位的系統(tǒng)的結(jié)構(gòu)示意圖。具體實(shí)施方式現(xiàn)在將參照附圖來(lái)詳細(xì)描述本發(fā)明的各種示例性實(shí)施例。應(yīng)注意到:除非另外具體說(shuō)明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)布置、數(shù)字表達(dá)式和數(shù)值不限制本發(fā)明的范圍。以下對(duì)至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說(shuō)明性的,決不作為對(duì)本發(fā)明及其應(yīng)用或使用的任何限制。對(duì)于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為說(shuō)明書(shū)的一部分。在這里示出和討論的所有例子中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它例子可以具有不同的值。應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類(lèi)似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步討論。實(shí)施例1如圖1所示,為本實(shí)施例中所述MacOS系統(tǒng)中應(yīng)用程序故障定位的方法的流程示意圖。在本實(shí)施例中,在MacOS系統(tǒng)中攔截應(yīng)用程序出錯(cuò)的定位日志信息,發(fā)送至該應(yīng)用程序開(kāi)發(fā)人員以便于定位故障并分析解決該應(yīng)用程序故障的方案。本實(shí)施例中所述MacOS系統(tǒng)中應(yīng)用程序故障定位的方法的步驟如下:步驟101、設(shè)置當(dāng)所述MacOS系統(tǒng)中應(yīng)用程序檢測(cè)到故障日志信息時(shí),利用消息重定向截獲所述故障日志信息,并根據(jù)預(yù)定的保存路徑將所述故障日志信息保存到所述MacOS系統(tǒng)中應(yīng)用程序在本地的沙盒中。消息重定向(Methodswizzling)的方法,指的是改變一個(gè)已存在數(shù)據(jù)選擇器對(duì)應(yīng)的實(shí)現(xiàn)過(guò)程。數(shù)據(jù)選擇器(dataselector)根據(jù)給定的輸入地址,從一組輸入信號(hào)中選出指定的輸入信號(hào)傳輸至輸出端的組合邏輯電路從而實(shí)現(xiàn)定向傳輸所述輸入信號(hào),有時(shí)也把它叫做多路選擇器或多路調(diào)制器(multiplexer)。消息重定向依賴(lài)于系統(tǒng)中函數(shù)的調(diào)用,能夠在系統(tǒng)運(yùn)行時(shí)通過(guò)改變調(diào)度表(dispatchtable)中數(shù)據(jù)選擇器到最終函數(shù)間的映射關(guān)系,從而改變系統(tǒng)中消息文件的傳輸方向。優(yōu)選地,在本步驟中,將所述故障日志信息保存在本地應(yīng)用程序的沙盒中。沙盒,是指在MacOS系統(tǒng)中,用以存放應(yīng)用程序源文件(包括資源文件和可執(zhí)行文件)的存儲(chǔ)空間,應(yīng)用程序只能在為該程序創(chuàng)建的存儲(chǔ)空間中讀取數(shù)據(jù)文件,不可以訪(fǎng)問(wèn)其它地方,此存儲(chǔ)空間被成為該應(yīng)用程序的沙盒。沙盒包括如下特點(diǎn):每個(gè)應(yīng)用程序都有自己的沙盒;應(yīng)用程序不能翻過(guò)自己沙盒的圍墻去訪(fǎng)問(wèn)別的存儲(chǔ)空間的內(nèi)容;應(yīng)用程序請(qǐng)求的數(shù)據(jù)都要通過(guò)權(quán)限檢測(cè),不符合條件的不會(huì)被放行。在現(xiàn)有的MacOS系統(tǒng)下,在該系統(tǒng)中運(yùn)行的應(yīng)用程序只有在崩潰的情況下,才會(huì)生成崩潰日志通過(guò)MacOS系統(tǒng)傳送至門(mén)戶(hù)網(wǎng)站,在開(kāi)發(fā)人員登錄所述門(mén)戶(hù)網(wǎng)站后才能獲取到該崩潰日志,不利于開(kāi)發(fā)人員及時(shí)獲取用戶(hù)的崩潰日志進(jìn)行及時(shí)處理。步驟102、在所述MacOS系統(tǒng)中應(yīng)用程序的預(yù)定位置加入運(yùn)行記錄日志,運(yùn)行所述MacOS系統(tǒng)中應(yīng)用程序并通過(guò)所述運(yùn)行記錄日志記錄該應(yīng)用程序的運(yùn)行狀態(tài)及運(yùn)行位置,將所述運(yùn)行記錄日志按記錄時(shí)間先后順序保存在對(duì)應(yīng)的沙盒中;其中,在所述沙盒中的所述運(yùn)行記錄日志的數(shù)量超過(guò)預(yù)定個(gè)數(shù)時(shí),按照所述記錄時(shí)間先后順序倒序保留所述預(yù)定個(gè)數(shù)的所述運(yùn)行記錄日志。優(yōu)選地,所述預(yù)定位置為所述應(yīng)用程序的預(yù)定位置,在所述應(yīng)用程序的預(yù)定位置加入日志,通過(guò)該日志記錄用戶(hù)在相鄰兩預(yù)定位置之間進(jìn)行的操作包括:用戶(hù)通過(guò)界面執(zhí)行的應(yīng)用程序操作、應(yīng)用程序中各個(gè)模塊間的調(diào)用接口信息、播放核心的播放狀態(tài)等。通過(guò)在預(yù)定位置加入日志,記錄用戶(hù)使用所述應(yīng)用程序的操作日志以及操作環(huán)境,有利于開(kāi)發(fā)人員通過(guò)日志再現(xiàn)用戶(hù)使用應(yīng)用程序的過(guò)程,方便開(kāi)發(fā)人員管理、監(jiān)控所述應(yīng)用程序。步驟103、檢測(cè)到所述MacOS系統(tǒng)中應(yīng)用程序在運(yùn)行過(guò)程中出現(xiàn)故障時(shí),根據(jù)所述運(yùn)行記錄日志及用戶(hù)信息生成帶有應(yīng)用程序故障位置的故障日志信息,利用消息重定向截獲所述帶有應(yīng)用程序故障位置的故障日志信息并保存在所述沙盒中;同時(shí)所述MacOS系統(tǒng)中應(yīng)用程序根據(jù)所述帶有應(yīng)用程序故障位置的故障日志信息生成故障處理界面并展示給用戶(hù)。優(yōu)選地,在利用消息重定向截獲所述帶有應(yīng)用程序故障位置的故障日志信息并保存在所述沙盒中,同時(shí)根據(jù)所述帶有應(yīng)用程序故障位置的故障日志信息生成故障提醒消息,用以提醒用戶(hù)應(yīng)用程序出現(xiàn)故障。在應(yīng)用程序出現(xiàn)故障時(shí),系統(tǒng)會(huì)獲取用戶(hù)的用戶(hù)信息,以便發(fā)開(kāi)人員從多個(gè)使用用戶(hù)中定位到目標(biāo)用戶(hù),其中,所述用戶(hù)信息包括:用戶(hù)的ID、用戶(hù)的IP地址、用戶(hù)使用的版本號(hào)等。當(dāng)用戶(hù)使用應(yīng)用程序出現(xiàn)崩潰、卡死、播放異?;蚱渌鼏?wèn)題時(shí),用戶(hù)可以通過(guò)應(yīng)用程序(高級(jí)選項(xiàng)的按鈕)點(diǎn)擊上傳故障日志信息,這樣程序會(huì)自動(dòng)把故障日志信息通過(guò)超文本傳輸協(xié)議(http)服務(wù)器回傳到開(kāi)發(fā)人員的后臺(tái)服務(wù)器中;或者用戶(hù)也可以聯(lián)系開(kāi)發(fā)人員,開(kāi)發(fā)人員通過(guò)遠(yuǎn)程連接用戶(hù)的設(shè)備查看故障日志信息,根據(jù)所述故障日志信息排查問(wèn)題。步驟104、所述MacOS系統(tǒng)中應(yīng)用程序接收處理所述帶有應(yīng)用程序故障位置的故障日志信息的請(qǐng)求,根據(jù)所述請(qǐng)求從對(duì)應(yīng)的沙盒中獲取所述帶有應(yīng)用程序故障位置的故障日志信息,并利用超文本傳輸協(xié)議將所述故障日志信息傳輸至開(kāi)發(fā)人員。應(yīng)用程序的開(kāi)發(fā)人員只有拿到用戶(hù)運(yùn)行應(yīng)用程序出現(xiàn)問(wèn)題的具體詳情,才能更好地再現(xiàn)用戶(hù)運(yùn)行該應(yīng)用程序的故障位置以及出現(xiàn)該故障的應(yīng)用程序運(yùn)行環(huán)境,進(jìn)而定位到故障位置,結(jié)合運(yùn)行環(huán)境解決故障。本實(shí)施例在MacOS系統(tǒng)的應(yīng)用程序中加入日志信息,通過(guò)消息重定向方法獲取應(yīng)用程序運(yùn)行的日志信息,經(jīng)過(guò)重定向后傳輸至系統(tǒng)存儲(chǔ)應(yīng)用程序源文件的沙盒中,在應(yīng)用程序中將該日志信息直接發(fā)送至應(yīng)用程序開(kāi)發(fā)人員,使得開(kāi)發(fā)人員能夠快捷、準(zhǔn)確地獲取應(yīng)用程序故障日志信息,進(jìn)而從日志信息中確定定位故障,提升了用戶(hù)使用體驗(yàn)。實(shí)施例2如圖2所示,為本實(shí)施例中所述MacOS系統(tǒng)中應(yīng)用程序故障定位的方法的流程示意圖。本實(shí)施例在實(shí)施例1的基礎(chǔ)上說(shuō)明了在MacOS系統(tǒng)上應(yīng)用程序中添加日志的位置以及對(duì)日至進(jìn)行更新出來(lái)的具體內(nèi)容。本實(shí)施例所述的MacOS系統(tǒng)中應(yīng)用程序故障定位的方法,包括如下步驟:步驟201、在MacOS系統(tǒng)上安裝應(yīng)用程序,并在所述應(yīng)用程序的預(yù)定位置加入日志,通過(guò)所述日志記錄所述應(yīng)用程序的運(yùn)行狀態(tài),且將所述日志保存到本地的沙盒中。所述運(yùn)行狀態(tài)包括:應(yīng)用程序正常運(yùn)行、應(yīng)用程序崩潰、應(yīng)用程序卡死、應(yīng)用程序播放異常等運(yùn)行狀態(tài),以及這些運(yùn)行狀態(tài)對(duì)應(yīng)的運(yùn)行時(shí)間及運(yùn)行位置。所述預(yù)定位置,包括:應(yīng)用程序中界面入口位置、功能模塊交互位置及播放開(kāi)始和結(jié)束位置。步驟202、在MacOS系統(tǒng)上,設(shè)定所述日志不超過(guò)預(yù)定大小,將保存在本地的所述日志按照時(shí)間先后排序,按所述排序順序從后往前獲取預(yù)定個(gè)數(shù)的日志保存在本地,并刪去多于的所述日志。優(yōu)選地,所述預(yù)定大小為2-5M,所述預(yù)定個(gè)數(shù)為5-10個(gè)。當(dāng)本地保存的日志數(shù)量超過(guò)預(yù)定個(gè)數(shù)(以5個(gè)為例)時(shí),系統(tǒng)自動(dòng)按日志生成時(shí)間從后往前獲取預(yù)定個(gè)數(shù)的日志進(jìn)行保存,而刪去在前面的超過(guò)預(yù)定個(gè)數(shù)的日志。本步驟的設(shè)置有利于采用去舊留新,始終保證本地只有不超過(guò)一定大小的最新日志,在不影響定位應(yīng)用程序故障的基礎(chǔ)上,防止在本地存儲(chǔ)過(guò)多的日志數(shù)據(jù),有利于節(jié)約系統(tǒng)資源。步驟203、檢測(cè)所述應(yīng)用程序的運(yùn)行狀態(tài),當(dāng)所述應(yīng)用程序出現(xiàn)故障時(shí),根據(jù)本地存儲(chǔ)的所述日志及用戶(hù)信息,生成帶有應(yīng)用程序故障位置的故障日志信息,利用消息重定向截獲所述故障日志信息并保存在本地。步驟204、根據(jù)所述故障日志信息生成提醒消息,以提醒用戶(hù)應(yīng)用程序出現(xiàn)故障,并接收用戶(hù)發(fā)送所述故障日志信息的請(qǐng)求。在本步驟中,根據(jù)故障日志信息生成提醒消息,在用戶(hù)自愿的情況下,將所述故障日志信息回傳到開(kāi)發(fā)人員,以供開(kāi)發(fā)人員進(jìn)行分析解決問(wèn)題。步驟205、根據(jù)用戶(hù)發(fā)送所述故障日志信息的請(qǐng)求,從本地獲取所述故障日志信息,并利用超文本傳輸協(xié)議將所述故障日志信息傳輸至開(kāi)發(fā)人員。步驟206、還可以在提醒用戶(hù)應(yīng)用程序出現(xiàn)故障后,接收用戶(hù)請(qǐng)求處理所述故障日志信息的遠(yuǎn)程請(qǐng)求,根據(jù)處理所述故障日志信息的遠(yuǎn)程請(qǐng)求連接到開(kāi)發(fā)人員,并顯示出所述故障日志信息。本實(shí)施例通過(guò)消息重定向方法獲取MacOS系統(tǒng)上應(yīng)用程序運(yùn)行故障的日志信息,并根據(jù)實(shí)際情況,清理系統(tǒng)的日志信息,只保留最新的日志信息,減輕了系統(tǒng)的壓力,提升了系統(tǒng)中應(yīng)用程序故障定位的效果。實(shí)施例3如圖3所示,為本發(fā)明所述MacOS系統(tǒng)中應(yīng)用程序故障定位的方法的一個(gè)具體實(shí)施例的流程示意圖,本實(shí)施例所述的方法包括如下步驟:步驟301、在MacOS系統(tǒng)上安裝應(yīng)用程序,并在所述應(yīng)用程序的預(yù)定位置加入日志,通過(guò)所述日志記錄所述應(yīng)用程序的運(yùn)行狀態(tài),且將所述日志保存到本地的沙盒中。步驟302、在MacOS系統(tǒng)上,設(shè)定所述日志大小不超過(guò)2M,將保存在本地的所述日志按照時(shí)間先后排序,按所述排序順序從后往前獲取5個(gè)的日志保存在本地,并刪去多于的所述日志;當(dāng)所述日志不超過(guò)5個(gè)時(shí),將當(dāng)前的日志都保存在本地。步驟303、檢測(cè)所述應(yīng)用程序的運(yùn)行狀態(tài),判斷所述應(yīng)用程序是否出現(xiàn)故障。所述故障包括:應(yīng)用程序崩潰、應(yīng)用程序卡死、應(yīng)用程序沒(méi)按原定的正常運(yùn)行方式而出現(xiàn)的運(yùn)行異常等故障問(wèn)題。步驟304、當(dāng)所述應(yīng)用程序未出現(xiàn)故障時(shí),繼續(xù)執(zhí)行應(yīng)用程序并記錄所述日志。步驟305、當(dāng)所述應(yīng)用程序出現(xiàn)故障時(shí),根據(jù)本地存儲(chǔ)的所述日志及用戶(hù)信息,生成帶有應(yīng)用程序故障位置的故障日志信息,利用消息重定向截獲所述故障日志信息并保存在本地。步驟306、根據(jù)所述故障日志信息生成提醒消息,以提醒用戶(hù)應(yīng)用程序出現(xiàn)故障。步驟307、用戶(hù)根據(jù)所述提醒消息下達(dá)處理所述故障日志信息的指令。步驟308、在MacOS系統(tǒng)上,根據(jù)用戶(hù)下達(dá)的處理所述故障日志信息的指令及用戶(hù)信息生成處理所述故障日志信息的請(qǐng)求,并根據(jù)所述請(qǐng)求判斷是否為遠(yuǎn)程控制請(qǐng)求。步驟309、當(dāng)所述請(qǐng)求為遠(yuǎn)程控制請(qǐng)求時(shí),根據(jù)處理所述故障日志信息的遠(yuǎn)程請(qǐng)求連接到開(kāi)發(fā)人員,并顯示出所述故障日志信息。步驟310、當(dāng)所述請(qǐng)求不為遠(yuǎn)程控制請(qǐng)求時(shí),從本地獲取所述故障日志信息,并利用超文本傳輸協(xié)議將所述故障日志信息傳輸至開(kāi)發(fā)人員。開(kāi)發(fā)人員可以通過(guò)所述故障日志信息分析出應(yīng)用程序的故障位置,進(jìn)而找出解決該故障的方案發(fā)送至用戶(hù)。本實(shí)施例所述的MacOS系統(tǒng)中應(yīng)用程序故障定位的方法,可以定位應(yīng)用程序卡死的、顯示異常等非崩潰問(wèn)題,相對(duì)于現(xiàn)有技術(shù)中只能定位奔潰問(wèn)題,功能性更全面;可以實(shí)現(xiàn)在用戶(hù)使用環(huán)境下進(jìn)行故障定位,方便開(kāi)發(fā)人員在用戶(hù)使用環(huán)境下可以更準(zhǔn)確地復(fù)現(xiàn)和解決故障問(wèn)題。實(shí)施例4如圖4所示,為本實(shí)施例所述MacOS系統(tǒng)中應(yīng)用程序故障定位的系統(tǒng)的結(jié)構(gòu)示意圖。本實(shí)施例所述的系統(tǒng)用于實(shí)施上述實(shí)施例中所述的MacOS系統(tǒng)中應(yīng)用程序故障定位的方法。本實(shí)施例的系統(tǒng)包括:故障設(shè)置模塊401、運(yùn)行記錄日志保存模塊402、故障處理模塊403及故障日志信息處理模塊404。其中,所述故障設(shè)置模塊401與所述故障處理模塊403相藕接,用于設(shè)置當(dāng)所述MacOS系統(tǒng)中應(yīng)用程序檢測(cè)到故障日志信息時(shí),利用消息重定向截獲所述故障日志信息,并根據(jù)預(yù)定的保存路徑將所述故障日志信息保存到所述MacOS系統(tǒng)中應(yīng)用程序在本地的沙盒中。所述運(yùn)行記錄日志保存模塊402與所述故障處理模塊403相藕接,用于在所述MacOS系統(tǒng)中應(yīng)用程序的預(yù)定位置加入運(yùn)行記錄日志,運(yùn)行所述MacOS系統(tǒng)中應(yīng)用程序并通過(guò)所述運(yùn)行記錄日志記錄該應(yīng)用程序的運(yùn)行狀態(tài)及運(yùn)行位置,將所述運(yùn)行記錄日志按記錄時(shí)間先后順序保存在對(duì)應(yīng)的沙盒中;其中,在所述沙盒中的所述運(yùn)行記錄日志的數(shù)量超過(guò)預(yù)定個(gè)數(shù)時(shí),按照所述記錄時(shí)間先后順序倒序保留所述預(yù)定個(gè)數(shù)的所述運(yùn)行記錄日志。所述故障處理模塊403與所述故障設(shè)置模塊401及運(yùn)行記錄日志保存模塊402相藕接,用于檢測(cè)到所述MacOS系統(tǒng)中應(yīng)用程序在運(yùn)行過(guò)程中出現(xiàn)故障時(shí),根據(jù)所述運(yùn)行記錄日志及用戶(hù)信息生成帶有應(yīng)用程序故障位置的故障日志信息,利用消息重定向截獲所述帶有應(yīng)用程序故障位置的故障日志信息并保存在所述沙盒中;同時(shí)所述MacOS系統(tǒng)中應(yīng)用程序根據(jù)所述帶有應(yīng)用程序故障位置的故障日志信息生成故障處理界面并展示給用戶(hù)。所述故障日志信息處理模塊404與所述故障處理模塊403,用于所述MacOS系統(tǒng)中應(yīng)用程序接收處理所述帶有應(yīng)用程序故障位置的故障日志信息的請(qǐng)求,根據(jù)所述請(qǐng)求從對(duì)應(yīng)的沙盒中獲取所述帶有應(yīng)用程序故障位置的故障日志信息,并利用超文本傳輸協(xié)議傳輸所述帶有應(yīng)用程序故障位置的故障日志信息至開(kāi)發(fā)人員。進(jìn)一步地,其中,所述故障處理模塊403還用于:在所述運(yùn)行記錄日志大小達(dá)到或超過(guò)預(yù)先設(shè)定的日志大小閾值時(shí),根據(jù)當(dāng)前的記錄時(shí)間在所述沙盒內(nèi)新建一個(gè)運(yùn)行記錄日志,用于繼續(xù)記錄所述MacOS系統(tǒng)中應(yīng)用程序的運(yùn)行狀態(tài)及運(yùn)行位置;在所述沙盒中的所述運(yùn)行記錄日志的數(shù)量超過(guò)預(yù)定個(gè)數(shù)時(shí),按照所述記錄時(shí)間先后順序倒序保留所述預(yù)定個(gè)數(shù)的所述運(yùn)行記錄日志,并刪去多于的日志。其中,所述預(yù)定大小為2-5M,所述預(yù)定個(gè)數(shù)為5-10個(gè)。進(jìn)一步地,其中,所述故障日志信息處理模塊404還用于:所述MacOS系統(tǒng)中應(yīng)用程序接收處理所述故障日志信息的請(qǐng)求,解析所述請(qǐng)求并判斷到為遠(yuǎn)程控制請(qǐng)求時(shí),根據(jù)所述遠(yuǎn)程控制請(qǐng)求連接到開(kāi)發(fā)人員,并顯示出所述故障日志信息;判斷到所述請(qǐng)求為非遠(yuǎn)程控制請(qǐng)求時(shí),根據(jù)所述請(qǐng)求從本地獲取所述故障日志信息,并利用超文本傳輸協(xié)議傳輸所述帶有應(yīng)用程序故障位置的故障日志信息。在上述系統(tǒng)中,所述預(yù)定位置,包括:應(yīng)用程序中界面入口位置、功能模塊交互位置及應(yīng)用程序中播放器播放開(kāi)始和結(jié)束位置。通過(guò)以上各個(gè)實(shí)施例可知,本發(fā)明的MacOS系統(tǒng)中應(yīng)用程序故障定位的方法及系統(tǒng),存在的有益效果是:(1)本發(fā)明所述的MacOS系統(tǒng)中應(yīng)用程序故障定位的方法及系統(tǒng),在MacOS系統(tǒng)的應(yīng)用程序中加入日志信息,通過(guò)消息重定向方法獲取應(yīng)用程序運(yùn)行的日志信息,經(jīng)過(guò)重定向后傳輸至系統(tǒng)存儲(chǔ)應(yīng)用程序源文件的沙盒目錄中,在應(yīng)用程序中將該日志信息直接發(fā)送至應(yīng)用程序開(kāi)發(fā)人員,使得開(kāi)發(fā)人員能夠快捷、準(zhǔn)確地獲取應(yīng)用程序故障日志信息,進(jìn)而從日志信息中準(zhǔn)確定位故障,提升了用戶(hù)使用體驗(yàn)。(2)本發(fā)明所述的MacOS系統(tǒng)中應(yīng)用程序故障定位的方法及系統(tǒng),通過(guò)消息重定向方法獲取應(yīng)用程序運(yùn)行故障的日志信息,直接發(fā)送至開(kāi)發(fā)人員,并根據(jù)實(shí)際情況,清理系統(tǒng)的日志信息,只保留最新的日志信息,減輕了系統(tǒng)的壓力,提升了系統(tǒng)中應(yīng)用程序故障定位的效果。(3)本發(fā)明所述的MacOS系統(tǒng)中應(yīng)用程序故障定位的方法及系統(tǒng),可以在開(kāi)發(fā)過(guò)程在容易導(dǎo)致問(wèn)題的地方添加日志信息,在應(yīng)用程序出現(xiàn)問(wèn)題時(shí),方便定位問(wèn)題;可以定位應(yīng)用程序卡死的、顯示異常等非崩潰問(wèn)題,相對(duì)于現(xiàn)有技術(shù)中只能定位奔潰問(wèn)題,功能性更全面;可以實(shí)現(xiàn)在用戶(hù)使用環(huán)境下進(jìn)行故障定位,方便開(kāi)發(fā)人員在用戶(hù)使用環(huán)境下可以更準(zhǔn)確地復(fù)現(xiàn)和解決故障問(wèn)題。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。雖然已經(jīng)通過(guò)例子對(duì)本發(fā)明的一些特定實(shí)施例進(jìn)行了詳細(xì)說(shuō)明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,以上例子僅是為了進(jìn)行說(shuō)明,而不是為了限制本發(fā)明的范圍。本領(lǐng)域的技術(shù)人員應(yīng)該理解,可在不脫離本發(fā)明的范圍和精神的情況下,對(duì)以上實(shí)施例進(jìn)行修改。本發(fā)明的范圍由所附權(quán)利要求來(lái)限定。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3