国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

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

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

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


      背景技術(shù):

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


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

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

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

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

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

      5、響應(yīng)于目標(biāo)程序運(yùn)行結(jié)束,對(duì)第二目標(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)程序的過(guò)程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息,包括:

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

      8、在一種可能的實(shí)現(xiàn)方式中,根據(jù)配置信息運(yùn)行目標(biāo)程序,在運(yùn)行目標(biāo)程序的過(guò)程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),執(zhí)行第一目標(biāo)函數(shù)對(duì)應(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ù)庫(kù)中與第一目標(biāo)函數(shù)關(guān)聯(lián)的自定義函數(shù),得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      24、分析模塊,用于響應(yīng)于目標(biāo)程序運(yùn)行結(jié)束,對(duì)第二目標(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)程序的過(guò)程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),執(zhí)行第一目標(biāo)函數(shù)對(duì)應(yīng)的鉤子hook操作,得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息。

      27、在一種可能的實(shí)現(xiàn)方式中,根據(jù)配置信息運(yùn)行目標(biāo)程序,在運(yùn)行目標(biāo)程序的過(guò)程中響應(yīng)于調(diào)用第一目標(biāo)函數(shù),執(zhí)行第一目標(biāo)函數(shù)對(duì)應(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ù)庫(kù)中與第一目標(biāo)函數(shù)關(guān)聯(lián)的自定義函數(shù),得到第一目標(biāo)函數(shù)的函數(shù)調(diào)用信息。

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

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

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

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

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

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

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

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

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

      38、分析模塊,用于:

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

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

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

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

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

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

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