[發明專利]計算機過程執行的選擇性跟蹤部分在審
| 申請號: | 201980028662.0 | 申請日: | 2019-04-13 |
| 公開(公告)號: | CN112041824A | 公開(公告)日: | 2020-12-04 |
| 發明(設計)人: | D·邁爾斯;T·萊;P·尼爾森;J·莫拉;J·C·亞雷瓦羅·巴埃扎;S·H·托布 | 申請(專利權)人: | 微軟技術許可有限責任公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F11/30;G06F11/34 |
| 代理公司: | 北京市金杜律師事務所 11256 | 代理人: | 黃倩 |
| 地址: | 美國華*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 計算機 過程 執行 選擇性 跟蹤 部分 | ||
所描述的技術支持選擇性地跟蹤過程的執行,除了開發者想要跟蹤的代碼以外,還進行了一些額外的跟蹤,但是通過減少跟蹤啟用和禁用操作的數目,顯著降低了計算性成本。跟蹤控制器使用跟蹤禁用距離變量,跟蹤禁用距離變量的值指示距跟蹤禁用的計算性距離。隨著過程執行,距離變量修改器自動地移動距離變量以更接近停止跟蹤值。創建任務函數被修改以包括指示符的設置,該指示符指示如果當前任務或線程正在被跟蹤,則新創建的任務將要被跟蹤。執行任務函數被修改,以當新創建的任務基于指示符而被執行時請求對新創建的任務的跟蹤,從而實現跨過程邊界進行操作并且跟蹤異步代碼執行的選擇性跟蹤。
背景技術
計算機軟件通常很復雜。部分復雜性可能來自于程序被設計為執行的工作的性質,例如,在數小時或更長時間內追蹤大量真實世界項或正在進行的事務,與其他復雜軟件協調活動,控制復雜硬件,等等。在軟件的幾乎任何真實世界使用中,復雜性也會出現,因為很多細節被引入并且應當被正確管理以指示計算機硬件如何執行真實世界工作,該真實世界工作在最初用英語或另一種自然語言來描述時精度要小得多。也就是說,從高級別描述到由計算機系統可執行的低級別實現的轉換不可避免地引入了復雜性。甚至比自然語言更精確的編程語言源代碼仍處于相對較高級別,并且因此是模糊的,對各種理解和實現是開放的。源代碼被轉換為由計算性硬件直接可執行的低級別指令,很多細節被引入,并且在轉換期間做出了選擇。
復雜性引入通常經常意識到的編程錯誤(又稱為“缺陷”,bug)的可能性。標識缺陷的原因并且嘗試修改程序以補救或移除缺陷的影響的過程被稱為“調試”。協助調試的專用軟件工具稱為“調試器”。被調試的程序稱為“調試對象”。
當開發者可以隨意緩慢地或全速運行調試對象,或者隨意暫停調試對象的執行,并且可以在調試對象的執行的任何時候檢查調試對象的所有狀態信息時,調試可能是最容易的。這被稱為“實時過程調試”。但是,對調試對象的這樣的完全訪問權通常是不可用的。例如,調試對象可以是生產軟件,在不違反服務協議或損害利益方的聲譽、安全性或財務狀況的情況下,不能夠對該生產軟件進行實時調試。如果在開發者檢查變量值、檢查利用哪些參數值調用了哪些函數、查看源代碼、考慮缺陷的可能解釋、以及設計可能有助于標識、補救或消除缺陷的測試時一次將實時過程調試對象暫停幾秒鐘,則可能會造成不能夠接受的危害。
因此,有時狀態信息在調試對象執行時被記錄,以便稍后被檢查而基本上不暫停調試對象的執行。例如,與調試對象的執行相關的部分或全部存儲器值以及對這些值的操作可以隨時間被記錄在執行跟蹤中。在調試對象不是實時過程的情況下,一些調試器支持使用這種跟蹤來重放所跟蹤的調試對象的執行。使用一些調試器,可以正向或反向重放在跟蹤中捕獲的調試對象執行,從而準許“時間旅行”(time travel)、“反向”或“歷史性”調試。
跟蹤通常會使調試對象變慢。因此,在避免對軟件性能產生不適當影響的同時跟蹤軟件程序執行的進展有助于改善可用于調試的信息,并且因此將傾向于通過支持對它們的缺陷的調解和消除來改善調試對象計算機系統的功能。為了對依賴于異步執行的軟件程序有用,這些進展必須能夠跨多個執行的線程繼續跟蹤執行。
發明內容
本文中描述的一些技術涉及創建執行跟蹤的技術活動,該執行跟蹤關注于程序中最有可能包含感興趣的缺陷的部分,從而改善了基于跟蹤的調試,同時還能夠跨執行的多個線程繼續執行跟蹤。一些教導涉及對啟用或禁用跟蹤的計算性成本與對特定調試工作沒有幫助的跟蹤代碼的計算性和存儲成本進行平衡的特定計算性機制。其他教導涉及隨著任務在執行的不同線程中被執行而跟蹤這些任務,注釋并且追蹤這些任務的特定計算機制。描述了用于適應環境以從本機過程或被管理過程創建被關注的跟蹤的技術機制。響應于將跟蹤關注于感興趣的用戶代碼上的挑戰,此處描述了特定技術工具和技術,以減少由于跟蹤非用戶代碼(諸如內核、編譯器、垃圾收集器或標準庫代碼)而導致的不期望的性能降低和跟蹤大小增加,同時能夠跨多個線程來跟蹤執行。與本文中的教導有關的其他技術活動對于本領域技術人員也將變得清楚。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微軟技術許可有限責任公司,未經微軟技術許可有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201980028662.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:農業管理系統以及顯示裝置
- 下一篇:可聚合的液晶材料和聚合的液晶膜





