System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 亚洲av无码专区在线观看素人,亚洲美日韩Av中文字幕无码久久久妻妇,无码伊人66久久大杳蕉网站谷歌
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    基于用戶態(tài)命令的CPU的內(nèi)核調(diào)用棧獲取方法及裝置制造方法及圖紙

    技術(shù)編號:43642568 閱讀:26 留言:0更新日期:2024-12-13 12:40
    本申請涉及一種基于用戶態(tài)命令的CPU的內(nèi)核調(diào)用棧獲取方法及裝置。該方法包括:在用戶態(tài)中通過輸入?yún)?shù)生成內(nèi)核調(diào)用棧獲取命令;根據(jù)所述內(nèi)核調(diào)用棧獲取命令確定目標(biāo)CPU;執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以向所述目標(biāo)CPU發(fā)送IPI核間中斷請求;基于所述IPI核間中斷請求所述目標(biāo)CPU通過預(yù)設(shè)接口獲取內(nèi)核調(diào)用棧的數(shù)據(jù);將所述數(shù)據(jù)儲存在預(yù)設(shè)字符數(shù)組中;再次執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以由所述預(yù)設(shè)字符數(shù)組獲取內(nèi)核調(diào)用棧的數(shù)據(jù)。本申請能夠在不造成長時間業(yè)務(wù)中斷的情況下,通過用戶態(tài)的可維護(hù)命令來獲取ARM64架構(gòu)下內(nèi)核態(tài)CPU的當(dāng)前調(diào)用棧信息,提升系統(tǒng)調(diào)試、性能分析以及故障排查效率。

    【技術(shù)實(shí)現(xiàn)步驟摘要】

    本申請涉及計(jì)算機(jī)信息處理領(lǐng)域,具體而言,涉及一種基于用戶態(tài)命令的cpu的內(nèi)核調(diào)用棧獲取方法及裝置。


    技術(shù)介紹

    1、在arm64架構(gòu)中,函數(shù)調(diào)用的管理依賴于精心設(shè)計(jì)的堆棧機(jī)制。這個機(jī)制的核心在于兩個關(guān)鍵的寄存器:幀指針(fp)和堆棧指針(sp)。fp寄存器指向當(dāng)前函數(shù)棧幀的底部,而sp寄存器則指向棧頂。這種設(shè)計(jì)使得技術(shù)人員能夠高效地在函數(shù)調(diào)用之間傳遞參數(shù)和返回值。

    2、具體來說,每當(dāng)一個函數(shù)被調(diào)用時,它的返回地址(存儲在鏈接寄存器lr中)會被壓入棧中。通過訪問fp寄存器,技術(shù)人員可以找到這個存儲在棧中的lr值,即函數(shù)的返回地址。此外,棧中還保存了上一級函數(shù)的fp寄存器值,它指向了上一級函數(shù)的棧底。利用這種鏈?zhǔn)浇Y(jié)構(gòu),技術(shù)人員可以逐級回溯,找到整個函數(shù)調(diào)用鏈中的每一個函數(shù)及其對應(yīng)的棧幀信息。這個過程被稱為棧回溯,棧回溯對于調(diào)試、性能分析和故障排查等場景至關(guān)重要。

    3、在多處理器系統(tǒng)中,某些硬件設(shè)備可能需要跨多個處理器共享中斷處理任務(wù)。為了應(yīng)對這種需求,引入了ipi(處理器間中斷)機(jī)制。當(dāng)一個處理器接收到一個中斷請求時,它可以利用ipi將這一請求發(fā)送給系統(tǒng)中的其他處理器,以觸發(fā)相應(yīng)的中斷處理程序。

    4、在復(fù)雜的系統(tǒng)環(huán)境中,了解cpu當(dāng)前正在執(zhí)行的任務(wù)和調(diào)用棧信息對于問題分析和定位至關(guān)重要。然而,一個常見的難題是用戶態(tài)程序無法直接訪問內(nèi)核態(tài)的信息。傳統(tǒng)的做法是通過進(jìn)入kdb(內(nèi)核調(diào)試器)環(huán)境,執(zhí)行如bt或btc等命令來查看cpu的調(diào)用棧。但這種方法有一個顯著的缺點(diǎn):它會導(dǎo)致所有cpu進(jìn)入暫停狀態(tài),從而可能引發(fā)業(yè)務(wù)中斷。

    5、因此,需要一種新的基于用戶態(tài)命令的cpu的內(nèi)核調(diào)用棧獲取方法及裝置。

    6、在所述
    技術(shù)介紹
    部分公開的上述信息僅用于加強(qiáng)對本申請的背景的理解,因此它可以包括不構(gòu)成對本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。


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

    1、有鑒于此,本申請?zhí)峁┮环N基于用戶態(tài)命令的cpu的內(nèi)核調(diào)用棧獲取方法及裝置,能夠在不造成長時間業(yè)務(wù)中斷的情況下,通過用戶態(tài)的可維護(hù)命令來獲取arm64架構(gòu)下內(nèi)核態(tài)cpu的當(dāng)前調(diào)用棧信息,提升系統(tǒng)調(diào)試、性能分析以及故障排查效率。

    2、本申請的其他特性和優(yōu)點(diǎn)將通過下面的詳細(xì)描述變得顯然,或部分地通過本申請的實(shí)踐而習(xí)得。

    3、根據(jù)本申請的一方面,提出一種基于用戶態(tài)命令的cpu的內(nèi)核調(diào)用棧獲取方法,該方法包括:在用戶態(tài)中通過輸入?yún)?shù)生成內(nèi)核調(diào)用棧獲取命令;根據(jù)所述內(nèi)核調(diào)用棧獲取命令確定目標(biāo)cpu;執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以向所述目標(biāo)cpu發(fā)送ipi核間中斷請求;基于所述ipi核間中斷請求所述目標(biāo)cpu通過預(yù)設(shè)接口獲取內(nèi)核調(diào)用棧的數(shù)據(jù);將所述數(shù)據(jù)儲存在預(yù)設(shè)字符數(shù)組中;再次執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以由所述預(yù)設(shè)字符數(shù)組獲取內(nèi)核調(diào)用棧的數(shù)據(jù)。

    4、在本申請的一種示例性實(shí)施例中,在用戶態(tài)中通過輸入?yún)?shù)生成內(nèi)核調(diào)用棧獲取命令,包括:在用戶態(tài)創(chuàng)建作為cpu內(nèi)核調(diào)用棧的入口的可維護(hù)命令;通過輸入?yún)?shù)和可維護(hù)命令生成內(nèi)核調(diào)用棧獲取命令。

    5、在本申請的一種示例性實(shí)施例中,根據(jù)所述內(nèi)核調(diào)用棧獲取命令確定目標(biāo)cpu,包括:判斷所述內(nèi)核調(diào)用棧獲取命令中輸入?yún)?shù)的有效性;在輸入?yún)?shù)的有效時,確定目標(biāo)cpu。

    6、在本申請的一種示例性實(shí)施例中,執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以向所述目標(biāo)cpu發(fā)送ipi核間中斷請求,包括:執(zhí)行所述內(nèi)核調(diào)用棧獲取命令;向所述目標(biāo)cpu發(fā)送ipi核間中斷請求以觸發(fā)不可屏蔽的中斷操作;所述目標(biāo)cpu進(jìn)行中斷處理流程。

    7、在本申請的一種示例性實(shí)施例中,執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以向所述目標(biāo)cpu發(fā)送ipi核間中斷請求,還包括:傳送全局變量標(biāo)記,所述全局變量標(biāo)記標(biāo)識所述中斷操作為所述內(nèi)核調(diào)用棧獲取命令觸發(fā)。

    8、在本申請的一種示例性實(shí)施例中,基于所述ipi核間中斷請求所述目標(biāo)cpu通過預(yù)設(shè)接口獲取內(nèi)核調(diào)用棧的數(shù)據(jù),包括:在預(yù)設(shè)接口獲取全局變量參數(shù)時,獲取所述目標(biāo)cpu的標(biāo)識;基于所述目標(biāo)cpu的標(biāo)識獲取寄存器的值,所述寄存器包括fp、sp、pc寄存器;通過所述寄存器的值獲取內(nèi)核調(diào)用棧的數(shù)據(jù)。

    9、在本申請的一種示例性實(shí)施例中,通過所述寄存器的值獲取內(nèi)核調(diào)用棧的數(shù)據(jù),包括:通過所述寄存器的值追蹤內(nèi)核調(diào)用棧的棧幀;將棧幀逐層展開;獲取每層的pc寄存器的值以生成所述內(nèi)核調(diào)用棧的數(shù)據(jù)。

    10、在本申請的一種示例性實(shí)施例中,將所述數(shù)據(jù)儲存在預(yù)設(shè)字符數(shù)組中,還包括:將全局變量標(biāo)記復(fù)原。

    11、在本申請的一種示例性實(shí)施例中,再次執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以由所述預(yù)設(shè)字符數(shù)組獲取內(nèi)核調(diào)用棧的數(shù)據(jù),包括:設(shè)定休眠間隔時間;在休眠間隔時間之后,再次執(zhí)行所述內(nèi)核調(diào)用棧獲取命令;由所述預(yù)設(shè)字符數(shù)組獲取內(nèi)核調(diào)用棧的數(shù)據(jù)。

    12、根據(jù)本申請的一方面,提出一種基于用戶態(tài)命令的cpu的內(nèi)核調(diào)用棧獲取裝置,該裝置包括:命令模塊,用于在用戶態(tài)中通過輸入?yún)?shù)生成內(nèi)核調(diào)用棧獲取命令;目標(biāo)模塊,用于根據(jù)所述內(nèi)核調(diào)用棧獲取命令確定目標(biāo)cpu;請求模塊,用于執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以向所述目標(biāo)cpu發(fā)送ipi核間中斷請求;數(shù)據(jù)模塊,用于基于所述ipi核間中斷請求所述目標(biāo)cpu通過預(yù)設(shè)接口獲取內(nèi)核調(diào)用棧的數(shù)據(jù);儲存模塊,用于將所述數(shù)據(jù)儲存在預(yù)設(shè)字符數(shù)組中;執(zhí)行模塊,用于再次執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以由所述預(yù)設(shè)字符數(shù)組獲取內(nèi)核調(diào)用棧的數(shù)據(jù)。

    13、根據(jù)本申請的一方面,提出一種電子設(shè)備,該電子設(shè)備包括:一個或多個處理器;存儲裝置,用于存儲一個或多個程序;當(dāng)一個或多個程序被一個或多個處理器執(zhí)行,使得一個或多個處理器實(shí)現(xiàn)如上文的方法。

    14、根據(jù)本申請的一方面,提出一種計(jì)算機(jī)可讀介質(zhì),其上存儲有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時實(shí)現(xiàn)如上文中的方法。

    15、根據(jù)本申請的基于用戶態(tài)命令的cpu的內(nèi)核調(diào)用棧獲取方法及裝置,通過在用戶態(tài)中通過輸入?yún)?shù)生成內(nèi)核調(diào)用棧獲取命令;根據(jù)所述內(nèi)核調(diào)用棧獲取命令確定目標(biāo)cpu;執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以向所述目標(biāo)cpu發(fā)送ipi核間中斷請求;基于所述ipi核間中斷請求所述目標(biāo)cpu通過預(yù)設(shè)接口獲取內(nèi)核調(diào)用棧的數(shù)據(jù);將所述數(shù)據(jù)儲存在預(yù)設(shè)字符數(shù)組中;再次執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以由所述預(yù)設(shè)字符數(shù)組獲取內(nèi)核調(diào)用棧的數(shù)據(jù)的方式,能夠在不造成長時間業(yè)務(wù)中斷的情況下,通過用戶態(tài)的可維護(hù)命令來獲取arm64架構(gòu)下內(nèi)核態(tài)cpu的當(dāng)前調(diào)用棧信息,提升系統(tǒng)調(diào)試、性能分析以及故障排查效率。

    16、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本申請。

    本文檔來自技高網(wǎng)...

    【技術(shù)保護(hù)點(diǎn)】

    1.一種基于用戶態(tài)命令的CPU的內(nèi)核調(diào)用棧獲取方法,其特征在于,包括:

    2.如權(quán)利要求1所述的方法,其特征在于,在用戶態(tài)中通過輸入?yún)?shù)生成內(nèi)核調(diào)用棧獲取命令,包括:

    3.如權(quán)利要求1所述的方法,其特征在于,根據(jù)所述內(nèi)核調(diào)用棧獲取命令確定目標(biāo)CPU,包括:

    4.如權(quán)利要求1所述的方法,其特征在于,執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以向所述目標(biāo)CPU發(fā)送IPI核間中斷請求,包括:

    5.如權(quán)利要求4所述的方法,其特征在于,執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以向所述目標(biāo)CPU發(fā)送IPI核間中斷請求,還包括:

    6.如權(quán)利要求1所述的方法,其特征在于,基于所述IPI核間中斷請求所述目標(biāo)CPU通過預(yù)設(shè)接口獲取內(nèi)核調(diào)用棧的數(shù)據(jù),包括:

    7.如權(quán)利要求6所述的方法,其特征在于,通過所述寄存器的值獲取內(nèi)核調(diào)用棧的數(shù)據(jù),包括:

    8.如權(quán)利要求1所述的方法,其特征在于,將所述數(shù)據(jù)儲存在預(yù)設(shè)字符數(shù)組中,還包括:

    9.如權(quán)利要求1所述的方法,其特征在于,再次執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以由所述預(yù)設(shè)字符數(shù)組獲取內(nèi)核調(diào)用棧的數(shù)據(jù),包括

    10.一種基于用戶態(tài)命令的CPU的內(nèi)核調(diào)用棧獲取裝置,其特征在于,包括:

    ...

    【技術(shù)特征摘要】

    1.一種基于用戶態(tài)命令的cpu的內(nèi)核調(diào)用棧獲取方法,其特征在于,包括:

    2.如權(quán)利要求1所述的方法,其特征在于,在用戶態(tài)中通過輸入?yún)?shù)生成內(nèi)核調(diào)用棧獲取命令,包括:

    3.如權(quán)利要求1所述的方法,其特征在于,根據(jù)所述內(nèi)核調(diào)用棧獲取命令確定目標(biāo)cpu,包括:

    4.如權(quán)利要求1所述的方法,其特征在于,執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以向所述目標(biāo)cpu發(fā)送ipi核間中斷請求,包括:

    5.如權(quán)利要求4所述的方法,其特征在于,執(zhí)行所述內(nèi)核調(diào)用棧獲取命令以向所述目標(biāo)cpu發(fā)送ipi核間中斷請求,還包括:

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:燕飛祥
    申請(專利權(quán))人:杭州迪普科技股份有限公司
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 人妻少妇看A偷人无码精品| 精品国产一区二区三区无码 | 无码AV天堂一区二区三区| 亚洲VA成无码人在线观看天堂 | 久久久无码精品亚洲日韩按摩 | 国产丝袜无码一区二区视频 | 国模无码视频一区| 亚洲av无码成人黄网站在线观看| 岛国av无码免费无禁网站| 亚洲AV永久无码区成人网站| 亚洲Av无码国产情品久久| 亚洲一区二区三区国产精品无码| 国产综合无码一区二区辣椒| 久久亚洲中文字幕无码| 精品无码AV无码免费专区| 亚洲国产精品无码成人片久久| aⅴ一区二区三区无卡无码| 少妇无码AV无码专区线| 亚洲Aⅴ在线无码播放毛片一线天| 国产成人无码一区二区三区| 国产综合无码一区二区辣椒| 国产精品一区二区久久精品无码| 成年轻人电影www无码| 亚洲av专区无码观看精品天堂| 久久久久无码精品国产不卡| 亚洲A∨无码无在线观看| 日韩精品无码免费专区网站| 三上悠亚ssⅰn939无码播放| 久久国产精品无码网站| 亚洲v国产v天堂a无码久久| 国产嫖妓一区二区三区无码| 亚洲人成人无码网www国产| 国产精品亚洲αv天堂无码| 精品久久久久久无码人妻热| 中文字字幕在线中文无码| 无码专区—VA亚洲V天堂| 久久精品九九热无码免贵| 久久亚洲AV无码精品色午夜| 无码国产精品一区二区免费式影视 | 久久亚洲AV无码精品色午夜麻豆| 人妻aⅴ无码一区二区三区|