1.一種覆蓋率檢測方法,其特征在于,包括:
接收服務(wù)器發(fā)送的文件的程序熱更新數(shù)據(jù);所述程序熱更新數(shù)據(jù)為所述服務(wù)器在檢測到對所述文件執(zhí)行熱更新操作之后調(diào)用數(shù)據(jù)收集函數(shù)重新獲取的執(zhí)行數(shù)據(jù)和所述文件執(zhí)行熱更新操作之后的源代碼文件;
解析獲取所述源代碼文件的總代碼行數(shù);
根據(jù)所述執(zhí)行數(shù)據(jù)和所述總代碼行數(shù),計算獲取所述文件當(dāng)前的覆蓋率。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
顯示所述文件當(dāng)前的所述覆蓋率。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述執(zhí)行數(shù)據(jù)包括所述服務(wù)器執(zhí)行的所述文件被執(zhí)行的代碼行號,所述根據(jù)所述執(zhí)行數(shù)據(jù)和所述總代碼行數(shù),計算獲取所述文件當(dāng)前的覆蓋率,包括:
根據(jù)所述被執(zhí)行的代碼行號,獲取所述文件中已執(zhí)行代碼的行數(shù);
根據(jù)所述已執(zhí)行代碼的行數(shù)Le和所述總代碼行數(shù)Lt,采用R=Le/Lt計算得到所述文件當(dāng)前的覆蓋率R。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述解析獲取所述源代碼文件的總代碼行數(shù),包括:
對所述源代碼文件進行解析處理,剔除所述源代碼文件中的空白行和注釋行,得到所述源代碼文件的所述總代碼行數(shù)。
5.一種覆蓋率檢測方法,其特征在于,包括:
在將文件的執(zhí)行數(shù)據(jù)發(fā)送至覆蓋率服務(wù)端之前,檢測所述文件的程序代碼是否被執(zhí)行熱更新操作;
若是,則獲取所述文件的程序熱更新數(shù)據(jù);其中,所述程序熱更新數(shù)據(jù)為調(diào)用數(shù)據(jù)收集函數(shù)重新獲取所述文件的執(zhí)行數(shù)據(jù)和獲取的所述文件執(zhí)行熱更新操作之后的源代碼文件;
將所述程序熱更新數(shù)據(jù)發(fā)送給覆蓋率服務(wù)端,以使所述覆蓋率服務(wù)端根據(jù)所述程序熱更新數(shù)據(jù)獲取所述文件當(dāng)前的覆蓋率。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述將所述程序熱更新數(shù)據(jù)發(fā)送給覆蓋率服務(wù)端之前,所述方法還包括:
將存儲的所述文件對應(yīng)的執(zhí)行數(shù)據(jù)和源代碼文件更新為重新獲取的所述執(zhí)行數(shù)據(jù)和源代碼文件進行存儲;所述執(zhí)行數(shù)據(jù)包括所述文件的文件名稱和所述文件被執(zhí)行的代碼行號。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述檢測所述文件的程序代碼是否被執(zhí)行熱更新操作之前,所述方法還包括:
啟動采集線程,調(diào)用數(shù)據(jù)收集函數(shù)獲取所述文件的執(zhí)行數(shù)據(jù),并啟動熱更新操作監(jiān)控線程。
8.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述熱更新操作包括以下至少一種操作:
對所述文件的程序代碼進行修改;
對所述文件的程序代碼進行移動;
對所述文件的程序代碼進行刪除。
9.一種覆蓋率檢測裝置,其特征在于,包括:
接收模塊,用于接收服務(wù)器發(fā)送的文件的程序熱更新數(shù)據(jù);所述程序熱更新數(shù)據(jù)為所述服務(wù)器在檢測到對所述文件執(zhí)行熱更新操作之后調(diào)用數(shù)據(jù)收集函數(shù)重新獲取的執(zhí)行數(shù)據(jù)和所述文件執(zhí)行熱更新操作之后的源代碼文件;
處理模塊,用于解析獲取所述源代碼文件的總代碼行數(shù);
所述處理模塊還用于根據(jù)所述執(zhí)行數(shù)據(jù)和所述總代碼行數(shù),計算獲取所述文件當(dāng)前的覆蓋率。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括:
顯示模塊,用于顯示所述文件當(dāng)前的所述覆蓋率。
11.根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,所述執(zhí)行數(shù)據(jù)包括所述服務(wù)器執(zhí)行的所述文件被執(zhí)行的代碼行號,所述處理模塊具體用于:
根據(jù)所述被執(zhí)行的代碼行號,獲取所述文件中已執(zhí)行代碼的行數(shù);
根據(jù)所述已執(zhí)行代碼的行數(shù)Le和所述總代碼行數(shù)Lt,采用R=Le/Lt計算得到所述文件當(dāng)前的覆蓋率R。
12.根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,所述處理模塊具體用于:
對所述源代碼文件進行解析處理,剔除所述源代碼文件中的空白行和注釋行,得到所述源代碼文件的所述總代碼行數(shù)。
13.一種覆蓋率檢測裝置,其特征在于,包括:
處理模塊,用于在將文件的執(zhí)行數(shù)據(jù)發(fā)送至覆蓋率服務(wù)端之前,檢測所述文件的程序代碼是否被執(zhí)行熱更新操作;
若是,則所述處理模塊還用于獲取所述文件的程序熱更新數(shù)據(jù);其中,所述程序熱更新數(shù)據(jù)為調(diào)用數(shù)據(jù)收集函數(shù)重新獲取所述文件的執(zhí)行數(shù)據(jù)和獲取的所述文件執(zhí)行熱更新操作之后的源代碼文件;
發(fā)送模塊,用于將所述程序熱更新數(shù)據(jù)發(fā)送給覆蓋率服務(wù)端,以使所述覆蓋率服務(wù)端根據(jù)所述程序熱更新數(shù)據(jù)獲取所述文件當(dāng)前的覆蓋率。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述處理模塊還用于:
將存儲的所述文件對應(yīng)的執(zhí)行數(shù)據(jù)和源代碼文件更新為重新獲取的所述執(zhí)行數(shù)據(jù)和源代碼文件進行存儲;所述執(zhí)行數(shù)據(jù)包括所述文件的文件名稱和所述文件被執(zhí)行的代碼行號。
15.根據(jù)權(quán)利要求13或14所述的裝置,其特征在于,所述處理模塊還用于:
啟動采集線程,調(diào)用數(shù)據(jù)收集函數(shù)獲取所述文件的執(zhí)行數(shù)據(jù),并啟動熱更新操作監(jiān)控線程。
16.根據(jù)權(quán)利要求13或14所述的裝置,其特征在于,所述處理模塊執(zhí)行的熱更新操作包括以下至少一種操作:
對所述文件的程序代碼進行修改;
對所述文件的程序代碼進行移動;
對所述文件的程序代碼進行刪除。
17.一種服務(wù)器,其特征在于,包括:用于存儲程序指令的存儲器、用于控制程序指令執(zhí)行的處理器以及接收器;
所述接收器用于接收服務(wù)器發(fā)送的文件的程序熱更新數(shù)據(jù);所述程序熱更新數(shù)據(jù)為所述服務(wù)器在檢測到對所述文件執(zhí)行熱更新操作之后調(diào)用數(shù)據(jù)收集函數(shù)重新獲取的執(zhí)行數(shù)據(jù)和所述文件執(zhí)行熱更新操作之后的源代碼文件;
所述處理器用于:
解析獲取所述源代碼文件的總代碼行數(shù);
根據(jù)所述執(zhí)行數(shù)據(jù)和所述總代碼行數(shù),計算獲取所述文件當(dāng)前的覆蓋率。
18.一種服務(wù)器,其特征在于,包括:用于存儲程序指令的存儲器、用于控制程序指令執(zhí)行的處理器以及發(fā)送器;
所述處理器用于:
在將文件的執(zhí)行數(shù)據(jù)發(fā)送至覆蓋率服務(wù)端之前,檢測所述文件的程序代碼是否被執(zhí)行熱更新操作;
若是,則獲取所述文件的程序熱更新數(shù)據(jù);其中,所述程序熱更新數(shù)據(jù)為調(diào)用數(shù)據(jù)收集函數(shù)重新獲取所述文件的執(zhí)行數(shù)據(jù)和獲取的所述文件執(zhí)行熱更新操作之后的源代碼文件;
所述發(fā)送器用于將所述程序熱更新數(shù)據(jù)發(fā)送給覆蓋率服務(wù)端,以使所述覆蓋率服務(wù)端根據(jù)所述程序熱更新數(shù)據(jù)獲取所述文件當(dāng)前的覆蓋率。