本技術(shù)涉及軟件,特別涉及一種變量讀寫方法、裝置和可讀存儲介質(zhì)。
背景技術(shù):
1、應(yīng)用程序中的變量是在應(yīng)用程序的運行期間可以改變的量,通過上位機對運行在下位機的應(yīng)用程序中的一個或多個變量進行讀寫,可以實現(xiàn)對應(yīng)用程序的監(jiān)視和控制。例如,在應(yīng)用程序的調(diào)試階段,上位機可以在應(yīng)用程序的運行過程中通過寫操作改變應(yīng)用程序中的一個或多個變量,以改變應(yīng)用程序的運行狀態(tài),排查應(yīng)用程序在運行過程中存在的錯誤和異常。
2、相關(guān)技術(shù)中,受上位機與下位機之間的通信協(xié)議以及應(yīng)用程序的限制,下位機可能只支持上位機讀寫應(yīng)用程序中的部分變量,使得上位機無法根據(jù)用戶需求靈活選擇應(yīng)用程序中的變量進行讀寫,無法滿足用戶對變量的讀寫需求。因此,提供一種可以靈活選擇變量進行讀寫的方法成為一種亟需解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供了一種變量讀寫方法、裝置和可讀存儲介質(zhì),能夠滿足用戶對變量的讀寫需求。
2、第一方面,提供了一種變量讀寫方法,所述方法包括:
3、從應(yīng)用程序的多個變量中確定待讀寫的第一變量,所述應(yīng)用程序安裝于下位機;
4、獲取所述第一變量在所述下位機中的第一存儲地址;
5、向所述下位機發(fā)送包括所述第一存儲地址的讀寫報文,所述讀寫報文用于使所述下位機根據(jù)所述第一存儲地址對所述第一變量進行讀寫。
6、在變量讀寫過程中,上位機首先確定變量在下位機中的存儲地址,然后直接根據(jù)存儲地址對內(nèi)存單元中存儲的數(shù)據(jù)進行讀寫,以完成對變量的讀寫。在變量讀寫過程中,上位機通過通信協(xié)議傳輸包括存儲地址的讀寫報文即可完成對變量的讀寫,并不需要基于通信協(xié)議對變量進行識別。同時,也并不需要應(yīng)用程序基于變量訪問內(nèi)存單元,可以實現(xiàn)讀寫過程與應(yīng)用程序的解耦,從而可以使變量讀寫過程不受通信協(xié)議和應(yīng)用程序的限制,使得上位機可以靈活選擇應(yīng)用程序中的變量進行讀寫,進而可以滿足用戶對變量的讀寫需求。
7、由于上位機可以根據(jù)需求靈活選擇應(yīng)用程序中的變量進行讀寫,在應(yīng)用程序的調(diào)試階段,上位機可以根據(jù)調(diào)試需求靈活改變應(yīng)用程序中的一個或多個變量,可以滿足不同的調(diào)試需求。在應(yīng)用程序的運行階段,上位機可以根據(jù)監(jiān)控需求靈活選擇應(yīng)用程序中的變量進行讀寫,可以對應(yīng)用程序的運行過程進行更更靈活的監(jiān)控。
8、在一些實施例中,所述應(yīng)用程序安裝于所述下位機包括的多個插件中的第一插件,所述讀寫報文中包括所述第一插件的插件標識,所述插件標識用于使所述下位機通過所述第一插件對所述第一變量進行讀寫。
9、本技術(shù)實施例中,上位機向下位機發(fā)送包括存儲地址和插件標識的讀寫報文,使得下位機可以根據(jù)插件標識確定變量所處的插件,通過插件對變量進行讀寫,從而可以對下位機包括的任意一個插件中的變量進行讀寫,以滿足用戶對不同插件中的變量進行讀寫的需求。
10、在一些實施例中,所述獲取所述第一變量在所述下位機中的第一存儲地址,包括:從地址映射文件中獲取所述第一存儲地址,所述地址映射文件中包括所述多個變量,以及每個變量在所述下位機中的存儲地址。
11、本技術(shù)實施例中,上位機可以預(yù)先獲取應(yīng)用程序的地址映射文件,在確定待讀寫的變量之后,可以從地址映射文件中確定待讀寫的變量的存儲地址,可以快速準確地確定變量的存儲地址。
12、在一些實施例中,在所述從地址映射文件中獲取所述第一存儲地址之前,所述方法還包括:對所述應(yīng)用程序的源程序進行編譯,根據(jù)編譯過程中為所述多個變量分配的存儲地址生成所述地址映射文件。
13、本技術(shù)實施例中,上位機通過對應(yīng)用程序的源程序進行編譯獲取應(yīng)用程序的地址映射文件,可以準確完整地獲取到應(yīng)用程序中包括的變量,以及每個變量的存儲地址。
14、在一些實施例中,所述從應(yīng)用程序的多個變量中確定待讀寫的第一變量,包括:
15、顯示所述多個變量;
16、響應(yīng)于輸入的選擇指令,從所述多個變量中確定所述第一變量。
17、本技術(shù)實施例中,上位機可以顯示應(yīng)用程序中包括的多個變量,使用戶可以根據(jù)需求從多個變量中選擇變量進行讀寫,可以便于用戶快速確定待讀寫的變量,從而可以提高變量讀寫效率。
18、在一些實施例中,所述應(yīng)用程序安裝于所述下位機包括的多個插件中的第一插件,所述方法還包括:通過顯示所述第一插件的插件標識指示顯示的所述多個變量存儲在所述第一插件中。
19、本技術(shù)實施例中,當下位機中包括多個插件時,上位機在顯示插件中存儲的變量的過程中,顯示插件的插件標識,通過插件標識可以指示變量所處的插件,可以便于用戶選擇不同插件中的變量進行讀寫。
20、在一些實施例中,所述方法還包括:接收所述下位機在根據(jù)所述讀寫報文對所述第一變量進行讀寫之后發(fā)送的讀寫結(jié)果;顯示所述讀寫結(jié)果。
21、本技術(shù)實施例中,上位機在對下位機中安裝的應(yīng)用程序中的變量進行讀寫之后,接收下位機發(fā)送的讀寫結(jié)果并顯示,可以便于用戶及時獲知讀寫結(jié)果,根據(jù)讀寫結(jié)果判斷讀寫過程是否存在異常。
22、第二方面,提供了一種變量讀寫方法,應(yīng)用于下位機,所述方法包括:
23、接收上位機發(fā)送的讀寫報文,所述讀寫報文中包括第一變量在所述下位機中的第一存儲地址,所述第一變量為所述下位機的應(yīng)用程序中包括的多個變量中的一個;
24、根據(jù)所述第一存儲地址對所述第一變量進行讀寫。
25、在一些實施例中,所述讀寫報文中包括插件標識,所述根據(jù)所述第一存儲地址對所述第一變量進行讀寫,包括:
26、從所述下位機包括的多個插件中確定所述插件標識對應(yīng)的第一插件;
27、通過所述第一插件對所述第一變量進行讀寫。
28、在一些實施例中,所述方法還包括:向所述上位機發(fā)送對所述第一變量進行讀寫后得到的讀寫結(jié)果。
29、第三方面,提供了一種變量讀寫裝置,所述裝置包括:
30、確定模塊,用于從應(yīng)用程序的多個變量中確定待讀寫的第一變量,所述應(yīng)用程序安裝于下位機;
31、獲取模塊,用于獲取所述第一變量在所述下位機中的第一存儲地址;
32、發(fā)送模塊,用于向所述下位機發(fā)送包括所述第一存儲地址的讀寫報文,所述讀寫報文用于使所述下位機根據(jù)所述第一存儲地址對所述第一變量進行讀寫。
33、在一些實施例中,所述應(yīng)用程序安裝于所述下位機包括的多個插件中的第一插件,所述讀寫報文中包括所述第一插件的插件標識,所述插件標識用于使所述下位機通過所述第一插件對所述第一變量進行讀寫。
34、在一些實施例中,所述獲取模塊具體用于從地址映射文件中獲取所述第一存儲地址,所述地址映射文件中包括所述多個變量,以及每個變量在所述下位機中的存儲地址。
35、在一些實施例中,所述裝置還包括:編譯模塊,用于對所述應(yīng)用程序的源程序進行編譯,根據(jù)編譯過程中為所述多個變量分配的存儲地址生成所述地址映射文件。
36、在一些實施例中,所述確定模塊具體用于顯示所述多個變量;響應(yīng)于輸入的選擇指令,從所述多個變量中確定所述第一變量。
37、在一些實施例中,所述裝置還包括:顯示模塊,用于通過顯示所述第一插件的插件標識指示顯示的所述多個變量存儲在所述第一插件中。
38、在一些實施例中,所述裝置還包括:顯示模塊,用于接收所述下位機在根據(jù)所述讀寫報文對所述第一變量進行讀寫之后發(fā)送的讀寫結(jié)果;顯示所述讀寫結(jié)果。
39、第四方面,提供了一種變量讀寫裝置,設(shè)置于下位機,所述裝置包括:
40、接收模塊,用于接收上位機發(fā)送的讀寫報文,所述讀寫報文中包括第一變量在所述下位機中的第一存儲地址,所述第一變量為所述下位機的應(yīng)用程序中包括的多個變量中的一個;
41、讀寫模塊,用于根據(jù)所述第一存儲地址對所述第一變量進行讀寫。
42、在一些實施例中,所述讀寫報文中包括插件標識,所述讀寫模塊具體用于從所述下位機包括的多個插件中確定所述插件標識對應(yīng)的第一插件;通過所述第一插件對所述第一變量進行讀寫。
43、在一些實施例中,所述裝置還包括:發(fā)送模塊,用于向所述上位機發(fā)送對所述第一變量進行讀寫后得到的讀寫結(jié)果。
44、第五方面,提供了一種可讀存儲介質(zhì),所述可讀存儲介質(zhì)上存儲有計算機程序,當所述計算機程序在變量讀寫裝置上運行時,使得所述變量讀寫裝置執(zhí)行前述第一方面或第二方面所提供的變量讀寫方法。
45、第六方面,提供了一種變量讀寫裝置,包括:處理器;存儲器;以及計算機程序,其中所計算機程序被存儲在所述存儲器中,當所述計算機程序被所述處理器執(zhí)行時,使得所述篩選裝置執(zhí)行前述第一方面或第二方面所提供的變量讀寫方法。
46、第七方面,提供了一種計算機程序產(chǎn)品,包括:計算機程序代碼,當所述計算機程序代碼在變量讀寫裝置上運行時,使得所述變量讀寫裝置執(zhí)行前述第一方面或第二方面所提供的變量讀寫方法。
47、第八方面,提供了一種芯片,包括:處理器,用于從存儲器中調(diào)用并運行計算機程序,使得安裝有所述芯片的變量讀寫裝置執(zhí)行前述第一方面或第二方面中所提供的變量讀寫方法。
48、可以理解地,上述第三方面、第四方面提供的變量讀寫裝置、第五方面提供的可讀存儲介質(zhì)、第六方面提供的計算機程序產(chǎn)品以及第八方面提供的芯片均用于執(zhí)行前述第一方面或第二方面所提供的變量讀寫方法,因此,其所能達到的有益效果可參考上文所提供的對應(yīng)的方法中的有益效果,此處不再贅述。