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

一種定位程序錯誤的方法、系統(tǒng)及裝置的制作方法

文檔序號:6469844閱讀:217來源:國知局
專利名稱:一種定位程序錯誤的方法、系統(tǒng)及裝置的制作方法
技術領域
本發(fā)明涉及通信技術領域,特別是涉及一種定位程序錯誤的方法、系統(tǒng) 及裝置。
背景技術
在高端嵌入式系統(tǒng)中,若發(fā)生業(yè)務中斷,會造成很大的損失,而在出現(xiàn) 業(yè)務中斷的問題后,用戶希望在最短的時間內(nèi)定位出該業(yè)務中斷的問題。為 了輔助定位出該業(yè)務中斷的問題,操作系統(tǒng)提供了較完善的輔助定位機制, 可以記錄問題出現(xiàn)的現(xiàn)場,記錄任務調度、內(nèi)存分配等關鍵事件發(fā)生的歷史, 用戶可以根據(jù)記錄定位出業(yè)務中斷的問題。但是操作系統(tǒng)提供的輔助定位機 制大多通用性很強,針對性較低,只能初步定位問題,難以找到具體的業(yè)務 中斷問艱義生的準確原因。
現(xiàn)有技術中,采用動態(tài)補丁的技術進行輔助定位,動態(tài)補丁機制可以向 當前程序中添加檢測代碼,以發(fā)現(xiàn)內(nèi)存值的變化或內(nèi)存值的關系變化,定位 出業(yè)務中斷的問題。
在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術中至少存在如下問題 動態(tài)補丁對目標程序的影響較大,直接修改目標程序的執(zhí)行流程,還可 能會引入新的錯誤,以致得出錯誤的結論;動態(tài)補丁代碼是從原程序出發(fā)做 出修改,只能在原程序的執(zhí)行路徑中被調用,插入檢測點的位置受到限制; 動態(tài)補丁機制實現(xiàn)起來較復雜而且動態(tài)加載補丁會不可避免地出現(xiàn)暫停業(yè) 務。

發(fā)明內(nèi)容
本發(fā)明實施例提供一種定位程序錯誤的方法、系統(tǒng)及裝置,以在不改變 原程序、不停止業(yè)務的情況下插入檢測功能,針對性地檢測任何可檢測狀態(tài)
的變化。
本發(fā)明實施例提出了 一種定位程序錯誤的方法,包括 在不中斷業(yè)務的情況下動態(tài)插入檢測代碼; 根據(jù)所述檢測代碼檢測所述業(yè)務的目標內(nèi)容;
當根據(jù)所述檢測代碼檢測出所述目標內(nèi)容存在問題時,定位所述問題。 本發(fā)明實施例還提出了一種定位程序錯誤的裝置,包括 插入模塊,用于在不中斷業(yè)務的情況下動態(tài)插入檢測代碼; 檢測模塊,用于根據(jù)所述檢測代碼檢測所述業(yè)務的目標內(nèi)容; 定位模塊,用于當根據(jù)所述檢測代碼檢測出所述目標內(nèi)容存在問題時,
定位所述問題。
本發(fā)明實施例還提出了一種定位程序錯誤的系統(tǒng),包括 定位程序錯誤裝置,用于在不中斷業(yè)務的情況下動態(tài)插入檢測代碼,根
據(jù)所述檢測代碼檢測所述業(yè)務的目標內(nèi)容,當根據(jù)所述檢測代碼檢測出的所
述目標內(nèi)容存在問題時,定位所述問題;
提示單元,用于提示終端所述定位出的問題。 與現(xiàn)有技術相比,本發(fā)明實施例具有以下優(yōu)點
在不中斷業(yè)務,不改變原程序執(zhí)行流程的情況下,插入代碼;險測程序, 針對性地檢測任何可檢測狀態(tài)的變化,實現(xiàn)代碼檢測功能,從而檢查出對程 序執(zhí)行有影響的軟件錯誤。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實 施例或現(xiàn)有^t支術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面 描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講, 在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。 圖1為本發(fā)明實施例一提出的一種定位程序4普誤的方法流程圖; 圖2為本發(fā)明實施例二提出的一種定位程序錯誤的方法流程圖; 圖3為本發(fā)明實施例三提出的一種定位程序錯誤的方法流程圖4為本發(fā)明實施例四提出的一種定位程序錯誤的系統(tǒng)結構圖; 圖5為本發(fā)明實施例五提出的一種定位程序錯誤的裝置結構圖。
具體實施例方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進 行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例, 而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒 有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的 范圍。
本發(fā)明實施例一提出的一種定位程序錯誤的方法,如圖l所示,包括 步驟S101,在不中斷業(yè)務的情況下動態(tài)插入檢測代碼; 步驟S102,根據(jù)所述檢測代碼檢測所述業(yè)務的目標內(nèi)容; 步驟S103,當根據(jù)所述檢測代碼檢測出所述目標內(nèi)容存在問題時,定位 所述問題。
具體的,該目標內(nèi)容為目標數(shù)據(jù)和/或目標代碼,是該檢測代碼需要檢測 的對象。該目標內(nèi)容存在的問題包括所有程序可檢測的狀態(tài)變化,其中,所 述所有程序可檢測的狀態(tài)變化包括系統(tǒng)中的內(nèi)存發(fā)生變化,或系統(tǒng)中的內(nèi)存 數(shù)值之間的相對關系發(fā)生變化,或記錄發(fā)生變化以及可檢測設備狀態(tài)發(fā)生變 化。
可見,本發(fā)明實施例中,通過在不中斷業(yè)務的情況下動態(tài)插入檢測代碼, 以檢測出對目標內(nèi)容有影響的錯誤。
本發(fā)明實施例二提出的一種定位程序錯誤的方法,如圖2所示,包括 步驟S201,初步定位出現(xiàn)錯誤的程序。
具體的,當程序運行出現(xiàn)問題時,操作系統(tǒng)的一般輔助機制將提供該程 序的基本信息,根據(jù)該信息對出現(xiàn)問題的程序作初步定位,以確定要懷疑的 范圍,并調用根據(jù)該問題編寫好的檢測代碼。
檢測代碼可以檢查出該出現(xiàn)問題的程序對操作系統(tǒng)中的內(nèi)存數(shù)據(jù)、設備 狀態(tài)等情況的影響。即檢測代碼可以檢查出操作系統(tǒng)中的任何形式的事件,
并根據(jù)該事件形成記錄,該事件至少包括某塊內(nèi)存值,某一個鏈表長度,資 源占用狀態(tài)中的一種或幾種。
步驟S202,在不中斷業(yè)務的情況下開啟^r測功能。
具體的,檢測代碼編寫好后需要鏈接到固定的位置,即在本實施例中, 該固定的位置為根據(jù)操作系統(tǒng)的一般輔助機制確定的要懷疑的范圍,在固定 位置處,使用檢測代碼檢測目標數(shù)據(jù)。該檢測代碼是向當前的程序中添加的 檢測代碼,用以發(fā)現(xiàn)內(nèi)存值變化或內(nèi)存間的關系變化。
檢測功能是將檢測代碼以程序映像的形式下發(fā)到被測程序中的,以使系 統(tǒng)下次執(zhí)行到檢測程序時執(zhí)行到這段檢測代碼。將檢測代碼以程序映像的形 式下發(fā)到被測程序包括將檢測代碼拷貝到鏈接位置和啟動檢測功能。
所述鏈接位置可指定為系統(tǒng)內(nèi)的一段專門內(nèi)存空間,檢測代碼可運行在 這段專門內(nèi)存空間中。根據(jù)問題的特征決定檢測策略,擬定檢測位置,該檢 測位置為檢測代碼編寫好后需要鏈接的固定的位置。在指定的檢測位置調用 指定的檢測代碼。在系統(tǒng)中重要的檢測位置安插檢測函數(shù),可以縮小檢測位 置的范圍,對于更準確的定位出問題有很大幫助。不同的檢測位置對應不同 類型的問題,所述啟動檢測功能就是根據(jù)所需的類型,選擇啟動該類型問題 的檢測位置的檢測代碼。
步驟S203 ,根據(jù)檢測代碼對目標數(shù)據(jù)進行檢測。
具體的,檢測代碼編譯好后會鏈接到檢測位置,然后指定系統(tǒng)在某一檢 測點調用具體的檢測代碼。當檢測代碼發(fā)現(xiàn)錯誤特征后,即可判定問題發(fā)生。 該錯誤特征具體包括所有程序可檢測的狀態(tài)變化。所述所有程序可^r測的狀 態(tài)包括系統(tǒng)中的內(nèi)存發(fā)生變化、系統(tǒng)中的內(nèi)存數(shù)值之間的相對關系發(fā)生變化、 記錄發(fā)生變化以及可檢測設備狀態(tài)發(fā)生變化中的 一種或幾種。
在檢測位置處,當待檢測的數(shù)據(jù)經(jīng)過該檢測位置時,對目標數(shù)據(jù)中程序 進行檢測,在該目標數(shù)據(jù)通過該檢測位置后,觀察檢測后系統(tǒng)中的內(nèi)存是否 發(fā)生變化,若發(fā)生變化,則該目標數(shù)據(jù)是出現(xiàn)問題的數(shù)據(jù),即可定位出錯誤 點,該檢測位置為故障點。該觀察檢測后系統(tǒng)中的內(nèi)存是否發(fā)生變化還可以 為觀察內(nèi)存數(shù)值之間的相對關系是否發(fā)生變化,或是觀察記錄是否發(fā)生變化
以及可檢測設備狀態(tài)是否發(fā)生變化。
可見,本發(fā)明實施例中,在不中斷業(yè)務,不改變原程序執(zhí)行流程的情況
下,插入代碼4&測程序,針對性地檢測任何可^r測狀態(tài)的變化,通過^f吏用檢 測代碼對目標數(shù)據(jù)進行檢測,可以檢測出目標數(shù)據(jù)中出現(xiàn)錯誤的程序段,從 而定位出故障點。即實現(xiàn)了代碼檢測功能,從而檢查出對程序執(zhí)行有影響的 軟件錯誤。
本發(fā)明實施例三提出的一種定位程序錯誤的方法,如圖3所示,包括 步驟S301 ,初步定位出現(xiàn)錯誤的程序。
具體的,當程序代碼運行出現(xiàn)問題時,操作系統(tǒng)的一般輔助機制將提供 該程序的基本信息,根據(jù)該信息對出現(xiàn)問題的程序作初步定位,以確定要懷 疑的范圍,并調用根據(jù)該問題編寫好的檢測代碼,檢測代碼可以檢查出出現(xiàn) 問題的代碼對操作系統(tǒng)中的內(nèi)存數(shù)據(jù)、設備狀態(tài)等情況的影響。即檢測代碼 可以檢查出操作系統(tǒng)中的任何形式的事件,并根據(jù)該事件形成記錄,該事件 至少包括某塊內(nèi)存值,某一個鏈表長度,資源占用狀態(tài)中的一種或幾種。
步驟S302,在不中斷業(yè)務的情況下開啟^r測功能。
具體的,檢測代碼編寫好后需要鏈接到固定的位置,即在本實施例中, 該固定的位置為根據(jù)操作系統(tǒng)的一般輔助機制確定的要懷疑的范圍,在固定 位置處,使用檢測代碼檢測目標代碼。該檢測代碼是向當前的程序中添加的 檢測代碼,用以發(fā)現(xiàn)內(nèi)存值變化或內(nèi)存間的關系變化。
檢測功能是將檢測代碼以程序映像的形式下發(fā)到被測程序中的,以使系 統(tǒng)下次執(zhí)行到檢測程序時執(zhí)行到這段檢測代碼。將檢測代碼以程序映像的形 式下發(fā)到被測程序包括將檢測代碼拷貝到鏈接位置和啟動檢測功能。
所述鏈接位置可指定為系統(tǒng)內(nèi)的一段專門內(nèi)存空間,檢測代碼可運行在 這段專門內(nèi)存空間中。依據(jù)問題的特征決定檢測策略,擬定檢測位置,該檢 測位置為檢測代碼編寫好后需要鏈接的固定的位置。在指定的檢測位置調用 指定的檢測代碼。即這段內(nèi)存空間是檢測代碼的運行位置,檢測代碼可以在 用戶指定的檢測點運行。在系統(tǒng)中重要的檢測位置安插檢測函數(shù),可以縮小 檢測位置的范圍,對于更準確的定位出問題有很大幫助。不同的檢測位置對
應不同類型的問題,所述啟動檢測功能就是根據(jù)所需的類型,選擇啟動該類 型問題的檢測位置的檢測代碼。
步驟S303 ,根據(jù)檢測代碼對目標代碼進行檢測。
具體的,檢測代碼編譯好后會鏈接到檢測位置,在檢測位置處,當待檢 測的代碼經(jīng)過該;險測位置時,檢測代碼會對該待4企測的代碼進行4企測,觀察 檢測后系統(tǒng)中的內(nèi)存是否發(fā)生變化,若發(fā)生變化,則該下載位置處的代碼是 出現(xiàn)問題的代碼,即可定位出錯誤點,該檢測位置為故障點。該觀察檢測后 系統(tǒng)中的內(nèi)存是否發(fā)生變化還可以為觀察內(nèi)存數(shù)值之間的相對關系是否發(fā)生 變化,或是觀察記錄是否發(fā)生變化。
在檢測的過程中,不需要對整個系統(tǒng)中所有任務進行檢測。這樣會帶來 較大開銷,甚至會因為開銷過大影響問題的發(fā)生機率,影響檢測結果。對目 標的代碼進行檢測至少包括對任務切換時的代碼進行檢測、對關鍵事件的代
其中,對任務切換的代碼進行檢測時,是對所有的任務安插檢測代碼的, 此時,檢測的密度很細,力度很大。在一個任務從檢測代碼的位置經(jīng)過后, 若該任務對系統(tǒng)的內(nèi)存造成了影響,使得設備的操作狀態(tài)發(fā)生變化,則證明 該任務存在問題,若沒有對系統(tǒng)內(nèi)存造成影響,則該任務沒有問題,檢測完 該任務后,按照相同的方法對下一個任務進行檢測,直到所有的待檢測任務 均檢測完畢之后,定位出所有的故障點。
對關鍵事件的代碼進行檢測時,是對待檢測設備之間的關鍵事件進行檢 測的。例如網(wǎng)絡設備,網(wǎng)絡設備間的交互大部分是通過報文來進行的,檢測 代碼對網(wǎng)絡設備進行檢測就是對該交互報文進行檢測,在網(wǎng)絡設備驅動發(fā)送 報文給業(yè)務軟件時,檢測代碼會在其發(fā)送的過程中對該發(fā)送報文進行檢測, 若該發(fā)送報文經(jīng)過檢測位置后系統(tǒng)的內(nèi)存發(fā)生了變化,則該關鍵事件(發(fā)送 的報文)存在問題,若該發(fā)送報文經(jīng)過檢測位置后系統(tǒng)的內(nèi)存沒有發(fā)生變化, 則該關鍵事件(發(fā)送的報文)沒有問題。
對需要進行周期檢測的代碼進行檢測時,需要提供高頻率的檢測點。有 一些產(chǎn)生錯誤的現(xiàn)象不一定會持續(xù)很長時間,有可能會隨機的出現(xiàn),持續(xù)了
一段時間后該現(xiàn)象又變得不可識別,在一些隨機條件滿足的情況下會演變成 問題。在這種情況下,需要用一個頻率較快的定時器來安插4企測代碼,以提 供高頻率的檢測代碼,檢測代碼頻繁地執(zhí)行卻不干擾正常代碼的執(zhí)行順序, 頻率越大捕捉到現(xiàn)象的可能越大。
可見,本發(fā)明實施例中,在不中斷業(yè)務,不改變原程序^L行流程的情況 下,插入代碼檢測程序,針對性地檢測任何可檢測狀態(tài)的變化,通過使用檢 測代碼對目標代碼進行檢測,可以分別檢測出任務切換時的代碼是否異常、 關鍵事件的代碼是否異常以及需要進行周期檢測的代碼是否異常,并定位出 故障點。即實現(xiàn)了代碼檢測功能,從而檢查出對代碼執(zhí)行有影響的軟件錯誤。 本發(fā)明實施例四提出的一種定位的程序錯誤的系統(tǒng),如圖4所示,包括 定位程序錯誤裝置41,用于在不中斷業(yè)務的情況下動態(tài)插入檢測代碼, 根據(jù)該檢測代碼檢測該業(yè)務的目標內(nèi)容,當根據(jù)該檢測代碼檢測出的該目標 內(nèi)容存在問題時,定位出該問題。
提示單元42,用于提示終端該定位程序錯誤裝置41定位出的問題。 本發(fā)明實施例五提出的一種定位的程序錯誤裝置,如圖5所示,包括 插入模塊51 ,用于在不中斷業(yè)務的情況下動態(tài)插入^r測代碼; 檢測模塊52,用于根據(jù)插入模塊51插入的檢測代碼檢測業(yè)務目標的內(nèi)容, 該目標的內(nèi)容包括目標的數(shù)據(jù)和/或目標的代碼。
定位模塊53 ,用于當根據(jù)檢測模塊52檢測出目標內(nèi)容存在問題時,根據(jù) 所述插入模塊51插入的檢測代碼的檢測結果定位出所述問題。 進一步的,所述檢測模塊52包括
數(shù)據(jù)檢測模塊521,用于根據(jù)所述檢測代碼檢測目標數(shù)據(jù); 代碼檢測模塊522,用于根據(jù)所述檢測代碼檢測目標代碼。 進一步的,該代碼檢測模塊522包括
第一代碼檢測模塊5221,用于根據(jù)檢測代碼對任務切換時的代碼進行檢
測;
第二代碼檢測模塊5222,用于根據(jù)所述檢測代碼對關鍵事件的代碼進行 檢測;第三代碼檢測模塊5223,用于根據(jù)所述檢測代碼對需要進行周期檢測的 代碼進行檢測。
可見,本實施例中,在不中斷業(yè)務,不改變原程序執(zhí)行流程的情況下, 插入代碼檢測程序,針對性地檢測任何可檢測狀態(tài)的變化,實現(xiàn)代碼檢測功 能,從而檢查出對程序執(zhí)行有影響的軟件錯誤。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā) 明可以通過硬件實現(xiàn),也可以可借助軟件加必要的通用硬件平臺的方式來實 現(xiàn)。基于這樣的理解,本發(fā)明的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來, 該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(可以是CD-ROM, U盤,移 動硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機, 服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普 通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤 飾,這些改進和潤飾也應視本發(fā)明的保護范圍。
權利要求
1、一種定位程序錯誤的方法,其特征在于,包括在不中斷業(yè)務的情況下動態(tài)插入檢測代碼;根據(jù)所述檢測代碼檢測所述業(yè)務的目標內(nèi)容;當根據(jù)所述檢測代碼檢測出所述目標內(nèi)容存在問題時,定位所述問題。
2、 如權利要求l所述的方法,其特征在于,所述根據(jù)所述檢測代碼檢測 目標內(nèi)容包括根據(jù)所述檢測代碼檢測目標數(shù)據(jù);和/或 根據(jù)所述4企測代碼;險測目標代碼。
3、 如權利要求2所述的方法,其特征在于,所述根據(jù)所述檢測代碼檢測 目標數(shù)據(jù)的步驟包括根據(jù)所述檢測代碼對目標數(shù)據(jù)的程序進行檢測。
4、 如權利要求2所述的方法,其特征在于,所述根據(jù)所述檢測代碼檢測 目標代碼的步驟包括根據(jù)所述檢測代碼對任務切換時的代碼進行檢測;或 根據(jù)所述檢測代碼對關鍵事件的代碼進行檢測;或 根據(jù)所述檢測代碼對需要進行周期檢測的代碼進行檢測。
5、 如權利要求l所述的方法,其特征在于,所述目標內(nèi)容存在的問題包括所有程序可檢測的狀態(tài)變化,其中,所述所有程序可檢測的狀態(tài)變化包 括系統(tǒng)中的內(nèi)存發(fā)生變化,或系統(tǒng)中的內(nèi)存數(shù)值之間的相對關系發(fā)生變化, 或記錄發(fā)生變化以及可檢測設備狀態(tài)發(fā)生變化。
6、 如權利要求l所述的方法,其特征在于,所述在不中斷業(yè)務的情況下 動態(tài)插入^r測代碼的步驟包括將所述檢測代碼以程序映像的形式下發(fā)到被測目標內(nèi)容處,并將所述檢 測代碼拷貝到檢測位置。
7、 一種定位程序錯誤的裝置,其特征在于,包括 插入模塊,用于在不中斷業(yè)務的情況下動態(tài)插入^r測代碼; 檢測模塊,用于根據(jù)所述檢測代碼檢測所述業(yè)務的目標內(nèi)容; 定位模塊,用于當根據(jù)所述檢測代碼檢測出所述目標內(nèi)容存在問題時, 定位所述問題。
8、 如權利要求7所述的裝置,其特征在于,所述4企測模塊包括 數(shù)據(jù)檢測模塊,用于根據(jù)所述檢測代碼檢測目標數(shù)據(jù); 代碼檢測模塊,用于根據(jù)所述檢測代碼檢測目標代碼。
9、 如權利要求8所述的裝置,其特征在于,所述代碼檢測模塊包括 第一代碼檢測模塊,用于根據(jù)檢測代碼對任務切換時的代碼進行檢測; 第二代碼檢測模塊,用于根據(jù)所述檢測代碼對關鍵事件的代碼進行檢觀'J; 第三代碼檢測模塊,用于根據(jù)所述檢測代碼對需要進行周期檢測的代碼進行4企測。
10、 一種定位程序錯誤的系統(tǒng),其特征在于,包括 定位程序錯誤裝置,用于在不中斷業(yè)務的情況下動態(tài)插入檢測代碼,根據(jù)所述檢測代碼檢測所述業(yè)務的目標內(nèi)容,當根據(jù)所述沖企測代碼檢測出的所 述目標內(nèi)容存在問題時,定位所述問題;提示單元,用于提示終端所述定位出的問題。
11、 如權利要求IO所述的系統(tǒng),其特征在于,所述定位程序錯誤裝置包括插入模塊,用于在不中斷業(yè)務的情況下動態(tài)插入檢測代碼; 檢測模塊,用于根據(jù)所述檢測代碼檢測所述業(yè)務的目標內(nèi)容; 定位模塊,用于當根據(jù)所述檢測代碼檢測出所述目標內(nèi)容存在問題時, 定4立所述問題。
全文摘要
本發(fā)明實施例公開了一種定位程序錯誤的方法、系統(tǒng)及裝置,該方法包括在不中斷業(yè)務的情況下動態(tài)插入檢測代碼;根據(jù)所述檢測代碼檢測所述業(yè)務的目標內(nèi)容;當根據(jù)所述檢測代碼檢測出所述目標內(nèi)容存在問題時,定位所述問題。本發(fā)明中,在不中斷業(yè)務,不改變原程序執(zhí)行流程的情況下,插入代碼檢測程序,針對性地檢測任何可檢測狀態(tài)的變化,實現(xiàn)代碼檢測功能,從而檢查出對程序執(zhí)行有影響的軟件錯誤。
文檔編號G06F11/36GK101349994SQ20081021135
公開日2009年1月21日 申請日期2008年9月23日 優(yōu)先權日2008年9月23日
發(fā)明者珅 李 申請人:成都市華為賽門鐵克科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1