亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

函數(shù)調(diào)用信息分析方法、裝置和存儲介質(zhì)與流程

文檔序號:40398775發(fā)布日期:2024-12-20 12:22閱讀:7來源:國知局
函數(shù)調(diào)用信息分析方法、裝置和存儲介質(zhì)與流程

本公開涉及計(jì)算機(jī)軟件,尤其涉及一種函數(shù)調(diào)用信息分析方法、裝置和存儲介質(zhì)。


背景技術(shù):

1、函數(shù)調(diào)用信息分析是分析程序、提升程序執(zhí)行效率的一種重要方法,當(dāng)前獲取函數(shù)調(diào)用信息的方式通常是利用gdb、valgrind等工具,或者是在源程序代碼中加入日志信息。gdb只能通過手動調(diào)試命令查看棧信息,且無法針對所有斷點(diǎn)進(jìn)行全局分析;valgrind不能指定函數(shù)且收集的函數(shù)調(diào)用信息不夠豐富;而日志的方式需要在源程序代碼中加入大量額外的日志代碼,不僅沒有通用性且分析也很困難。可以看出當(dāng)前雖然有一些輔助函數(shù)調(diào)用信息分析的工具,但都只能滿足部分需求,都有各種各樣的缺點(diǎn),無法同時(shí)滿足可定制性、全局性,一旦程序達(dá)到一定的規(guī)模和復(fù)雜度后,這些輔助分析的工具很難分析出程序代碼的邏輯問題和性能瓶頸。


技術(shù)實(shí)現(xiàn)思路

1、有鑒于此,本公開提出了一種函數(shù)調(diào)用信息分析方法、裝置和存儲介質(zhì)。

2、根據(jù)本公開的一方面,提供了一種函數(shù)調(diào)用信息分析方法。該方法包括:

3、獲取配置信息,配置信息用于指示待獲取函數(shù)調(diào)用信息的一個(gè)或多個(gè)第一目標(biāo)函數(shù);

4、根據(jù)配置信息運(yùn)行目標(biāo)程序,在運(yùn)行目標(biāo)程序的過程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息;

5、響應(yīng)于目標(biāo)程序運(yùn)行結(jié)束,對第二目標(biāo)函數(shù)的函數(shù)調(diào)用信息進(jìn)行分析,得到函數(shù)調(diào)用信息分析結(jié)果,第二目標(biāo)函數(shù)為一個(gè)或多個(gè)第一目標(biāo)函數(shù)中的部分或全部。

6、在一種可能的實(shí)現(xiàn)方式中,根據(jù)配置信息運(yùn)行目標(biāo)程序,在運(yùn)行目標(biāo)程序的過程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息,包括:

7、根據(jù)配置信息運(yùn)行目標(biāo)程序,在運(yùn)行目標(biāo)程序的過程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),執(zhí)行第一目標(biāo)函數(shù)對應(yīng)的鉤子hook操作,得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息。

8、在一種可能的實(shí)現(xiàn)方式中,根據(jù)配置信息運(yùn)行目標(biāo)程序,在運(yùn)行目標(biāo)程序的過程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),執(zhí)行第一目標(biāo)函數(shù)對應(yīng)的鉤子hook操作,得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息,包括:

9、在用于運(yùn)行目標(biāo)程序的目標(biāo)進(jìn)程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),運(yùn)行自定義函數(shù)庫中與第一目標(biāo)函數(shù)關(guān)聯(lián)的自定義函數(shù),得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息。

10、在一種可能的實(shí)現(xiàn)方式中,目標(biāo)進(jìn)程在子進(jìn)程中通過預(yù)設(shè)的預(yù)加載環(huán)境變量啟動,子進(jìn)程在主進(jìn)程中通過系統(tǒng)調(diào)用創(chuàng)建。

11、在一種可能的實(shí)現(xiàn)方式中,配置信息還用于指示待獲取的函數(shù)調(diào)用信息的類型,根據(jù)配置信息運(yùn)行目標(biāo)程序,在運(yùn)行目標(biāo)程序的過程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息,包括:

12、根據(jù)配置信息運(yùn)行目標(biāo)程序,在運(yùn)行目標(biāo)程序的過程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),得到與待獲取的函數(shù)調(diào)用信息的類型相對應(yīng)的第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息。

13、在一種可能的實(shí)現(xiàn)方式中,待獲取的函數(shù)調(diào)用信息的類型包括以下中的一種或多種:進(jìn)程標(biāo)識、線程標(biāo)識、函數(shù)調(diào)用棧信息、函數(shù)執(zhí)行時(shí)間。

14、在一種可能的實(shí)現(xiàn)方式中,配置信息還用于指示第二目標(biāo)函數(shù)以及針對第二目標(biāo)函數(shù)的函數(shù)調(diào)用信息的分析方式,響應(yīng)于目標(biāo)程序運(yùn)行結(jié)束,對第二目標(biāo)函數(shù)的函數(shù)調(diào)用信息進(jìn)行分析,得到函數(shù)調(diào)用信息分析結(jié)果,包括:

15、響應(yīng)于目標(biāo)程序運(yùn)行結(jié)束,基于針對函數(shù)調(diào)用信息的分析方式對第二目標(biāo)函數(shù)的函數(shù)調(diào)用信息進(jìn)行分析,得到函數(shù)調(diào)用信息分析結(jié)果。

16、在一種可能的實(shí)現(xiàn)方式中,該方法還包括:

17、在運(yùn)行自定義函數(shù)庫中與第一目標(biāo)函數(shù)關(guān)聯(lián)的自定義函數(shù)的過程中,獲取第一目標(biāo)函數(shù)的指針以調(diào)用第一目標(biāo)函數(shù);

18、將得到的第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息通過自定義格式的文件寫入存儲系統(tǒng)中;

19、響應(yīng)于目標(biāo)程序運(yùn)行結(jié)束,對第二目標(biāo)函數(shù)的函數(shù)調(diào)用信息進(jìn)行分析,得到函數(shù)調(diào)用信息分析結(jié)果,包括:

20、響應(yīng)于目標(biāo)程序運(yùn)行結(jié)束,從存儲系統(tǒng)中獲取包括第二目標(biāo)函數(shù)的函數(shù)調(diào)用信息的自定義格式的文件進(jìn)行分析,得到函數(shù)調(diào)用信息分析結(jié)果。

21、根據(jù)本公開的另一方面,提供了一種函數(shù)調(diào)用信息分析裝置。該裝置包括:

22、第一獲取模塊,用于獲取配置信息,配置信息用于指示待獲取函數(shù)調(diào)用信息的一個(gè)或多個(gè)第一目標(biāo)函數(shù);

23、確定模塊,用于根據(jù)配置信息運(yùn)行目標(biāo)程序,在運(yùn)行目標(biāo)程序的過程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息;

24、分析模塊,用于響應(yīng)于目標(biāo)程序運(yùn)行結(jié)束,對第二目標(biāo)函數(shù)的函數(shù)調(diào)用信息進(jìn)行分析,得到函數(shù)調(diào)用信息分析結(jié)果,第二目標(biāo)函數(shù)為一個(gè)或多個(gè)第一目標(biāo)函數(shù)中的部分或全部。

25、在一種可能的實(shí)現(xiàn)方式中,確定模塊,用于:

26、根據(jù)配置信息運(yùn)行目標(biāo)程序,在運(yùn)行目標(biāo)程序的過程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),執(zhí)行第一目標(biāo)函數(shù)對應(yīng)的鉤子hook操作,得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息。

27、在一種可能的實(shí)現(xiàn)方式中,根據(jù)配置信息運(yùn)行目標(biāo)程序,在運(yùn)行目標(biāo)程序的過程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),執(zhí)行第一目標(biāo)函數(shù)對應(yīng)的鉤子hook操作,得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息,包括:

28、在用于運(yùn)行目標(biāo)程序的目標(biāo)進(jìn)程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),運(yùn)行自定義函數(shù)庫中與第一目標(biāo)函數(shù)關(guān)聯(lián)的自定義函數(shù),得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息。

29、在一種可能的實(shí)現(xiàn)方式中,目標(biāo)進(jìn)程在子進(jìn)程中通過預(yù)設(shè)的預(yù)加載環(huán)境變量啟動,子進(jìn)程在主進(jìn)程中通過系統(tǒng)調(diào)用創(chuàng)建。

30、在一種可能的實(shí)現(xiàn)方式中,配置信息還用于指示待獲取的函數(shù)調(diào)用信息的類型,確定模塊,用于:

31、根據(jù)配置信息運(yùn)行目標(biāo)程序,在運(yùn)行目標(biāo)程序的過程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),得到與待獲取的函數(shù)調(diào)用信息的類型相對應(yīng)的第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息。

32、在一種可能的實(shí)現(xiàn)方式中,待獲取的函數(shù)調(diào)用信息的類型包括以下中的一種或多種:進(jìn)程標(biāo)識、線程標(biāo)識、函數(shù)調(diào)用棧信息、函數(shù)執(zhí)行時(shí)間。

33、在一種可能的實(shí)現(xiàn)方式中,配置信息還用于指示第二目標(biāo)函數(shù)以及針對第二目標(biāo)函數(shù)的函數(shù)調(diào)用信息的分析方式,分析模塊,用于:

34、響應(yīng)于目標(biāo)程序運(yùn)行結(jié)束,基于針對函數(shù)調(diào)用信息的分析方式對第二目標(biāo)函數(shù)的函數(shù)調(diào)用信息進(jìn)行分析,得到函數(shù)調(diào)用信息分析結(jié)果。

35、在一種可能的實(shí)現(xiàn)方式中,該裝置還包括:

36、第二獲取模塊,用于在運(yùn)行自定義函數(shù)庫中與第一目標(biāo)函數(shù)關(guān)聯(lián)的自定義函數(shù)的過程中,獲取第一目標(biāo)函數(shù)的指針以調(diào)用第一目標(biāo)函數(shù);

37、寫入模塊,用于將得到的第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息通過自定義格式的文件寫入存儲系統(tǒng)中;

38、分析模塊,用于:

39、響應(yīng)于目標(biāo)程序運(yùn)行結(jié)束,從存儲系統(tǒng)中獲取包括第二目標(biāo)函數(shù)的函數(shù)調(diào)用信息的自定義格式的文件進(jìn)行分析,得到函數(shù)調(diào)用信息分析結(jié)果。

40、根據(jù)本公開的另一方面,提供了一種函數(shù)調(diào)用信息分析裝置,包括:處理器;用于存儲處理器可執(zhí)行指令的存儲器;其中,所述處理器被配置為在執(zhí)行所述存儲器存儲的指令時(shí),實(shí)現(xiàn)上述方法。

41、根據(jù)本公開的另一方面,提供了一種非易失性計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序指令,其中,所述計(jì)算機(jī)程序指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法。

42、根據(jù)本公開的另一方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀代碼,或者承載有計(jì)算機(jī)可讀代碼的非易失性計(jì)算機(jī)可讀存儲介質(zhì),當(dāng)所述計(jì)算機(jī)可讀代碼在電子設(shè)備的處理器中運(yùn)行時(shí),所述電子設(shè)備中的處理器執(zhí)行上述方法。

43、根據(jù)本技術(shù)實(shí)施例,通過獲取用于指示待獲取函數(shù)調(diào)用信息的一個(gè)或多個(gè)第一目標(biāo)函數(shù)的配置信息,可以實(shí)現(xiàn)在獲取函數(shù)調(diào)用信息的過程中可以指定函數(shù),收集指定函數(shù)的調(diào)用信息,具有可定制性。通過根據(jù)配置信息運(yùn)行目標(biāo)程序,在運(yùn)行目標(biāo)程序的過程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),獲取第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息,可以獲取豐富的函數(shù)調(diào)用信息,通過響應(yīng)于目標(biāo)程序運(yùn)行結(jié)束,對第二目標(biāo)函數(shù)的函數(shù)調(diào)用信息進(jìn)行分析,得到函數(shù)調(diào)用信息分析結(jié)果,可以實(shí)現(xiàn)針對所有斷點(diǎn)進(jìn)行全局分析,具有全局性。且在此過程中無需在目標(biāo)程序中加入額外的代碼,具有低侵入性和通用性,適用于大規(guī)模和高復(fù)雜度的程序,對于各種程序都可分析出目標(biāo)程序代碼的邏輯問題和性能瓶頸。

44、根據(jù)下面參考附圖對示例性實(shí)施例的詳細(xì)說明,本公開的其它特征及方面將變得清楚。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1