專利名稱:飛行器機載系統的運行軟件的調試方法和實施該方法的設備的制作方法
技術領域:
本發明屬于當系統的運行取決于在一個計算器中邏輯指令序列的執行時,這些系 統的運行的安全的領域。尤其是,本發明旨在一種應當執行邏輯指令序列的系統,尤其是具有高安全要求的系統,例如專門裝載在飛行器上的電子系統,的運行軟件的調試方法。本方法使得開發人員能夠搜索并改正機載系統運行軟件的邏輯指令序列中的錯 誤。本發明非排它地在航空領域以及尤其是在專用于機載系統運行軟件測試執行領域中具 有特別的優勢。
背景技術:
出于安全的考慮,用來安裝在飛行器上的系統需要接受運行是否良好的檢驗,在 檢驗中系統必需符合一些認證的要求。這在安裝有類似系統的飛行器被授權進行飛行并甚 至是投入商業服務之前進行。安裝前,這些系統要經受一些測試以檢驗是否符合認證權威機構制定的完整性和 安全性要求。這些機載系統可以尤其是一些特殊的計算機,用來實現一些對飛行器很重要 的功能,例如,領航功能。這些系統在下文中被稱作計算機。在現有系統的架構中,最常見的是每個計算機都可以用于同樣性質的一種或多種 應用,例如控制飛行的應用。每個計算機都包括一個硬件部分和一個軟件部分。硬件部分 包括至少一個中央處理單元(CPU)和至少一個輸入/輸出單元,計算機通過這個單元與一 個計算機網絡和一些外圍設備等等連接。通常在航空領域中使用的機載系統的一個主要特征是,不論其硬件還是軟件的結 構,都盡量避免引入執行上述系統的功能所需之外的任何裝置。因此,與普及的應用中通常碰到的系統相反的是,在航空領域,計算機不具備復雜 的操作系統。另外,軟件使用的語言與中央處理單元能理解的語言盡量接近,唯一可得到的 輸入/輸出是系統運行所必需的,如來自飛行器傳感器或其他部件的信息,或發送到驅動 器或其他部件的信息。這種架構的優勢在于這種系統的運行非常便于控制。它并不依賴一個復雜的操作 系統,復雜的操作系統的多方面的運行都要根據不可控制的參數并且否則這些系統往往成 為和應用軟件同樣的安全示范。這種系統簡單不易受攻擊,因為它只包括一些執行該系統 的功能嚴格所必需的裝置。相對地,這種系統的運行也非常難以進行觀察。例如,這個系統不包括通常的人/ 機接口例如鍵盤和屏幕用來檢驗是否正確執行指令序列以及對執行進行調整,這就使得在 軟件的開發、檢驗和評定中難以進行一些必不可少的檢驗。計算機的軟件包括一個專用于所考慮的應用并保證計算機運行的軟件,軟件指令 要與確定系統的運行的算法相符。
在系統和飛行器使用前,為了認證系統,要有一個對計算機進行生效確認的階段。眾所周知,生效確認階段主要在于,在計算機操作過程的每個步驟,檢驗計算機是 否符合設立的技術規范,使得上述計算機滿足系統期待的運行。尤其對軟件而言,要通過一系列的步驟來實現符合技術規范,從軟件的最簡單組 件的檢驗到包括所有組件的整個完整軟件安裝在目標計算機中。在第一個步驟,對可被測試的最簡單的軟件部件進行所謂的單元測試 。在這些測 試過程中,檢驗所述軟件部件的邏輯指令即代碼單獨地是否都與設計要求相符。在第二個步驟,即綜合步驟,將已經分別接受檢驗的不同軟件部件集合,形成軟件 部件相互作用的一個整體。對這些不同的軟件部件進行整體性測試以確定這些軟件部件尤 其在上述部件的功能接口處是相容的。在第三個步驟,軟件部件整體安裝在專門的計算機中。從而,進行一些生效確認實 驗以顯示由集成在計算機中軟件部件整體組成的軟件是否符合設備技術規范,即軟件能完 成預期的功能,以及運行可靠安全。為了保證軟件的安全和滿足認證的要求,在這個生效確認階段,這個系統進行的 整個測試同樣必需能夠以足夠的概率得出軟件與其所處的系統規定的安全要求相符。在生效確認階段對軟件進行的不同測試可以保證軟件不會出現任何一種功能不 良(會對計算機的運行良好產生影響,從而影響飛行器及其安全)或者一旦出現功能不良 軟件能夠及時控制。然而,在生效確認階段,尤其是當檢驗到異常進行研究時,不僅需要保證安裝軟件 的計算機的輸入和輸出參數與期待相符,而且要保證軟件內部的一些性能良好。在這種情況下,鑒于所安裝應用的專用計算機的特殊結構,不使用特殊設備和方 法時通常很難觀察軟件的運行。已知的第一種方法在于使用仿真器在所測試的安裝有軟件的計算機和一個平臺 之間建立一個文件分配系統。通過仿真器,一個設備能夠在連接的平臺上模擬計算機處理 器的一個計算單元的邏輯運行。在使用仿真器的這樣一個運行模式中,計算機的處理器可以用一個檢測器代替, 這個檢測器保證與帶有處理器的仿真功能的相連接平臺接口。這樣,就可以通過連接平臺的自身功能,在除處理器部分外的計算機上,執行要測 試的軟件,觀測軟件的運行或一些內部運行不良,例如,輸入/輸出部件的輸入的刺激所引 起的不良,還能觀測上述的輸入/輸出部件的輸出。這個方法存在一些不足。事實上,要測試的計算機的任何類型都需要一個特別的 測試臺或者測試臺的至少一個專門配置。測試臺是一個尤其包括一些與要測試的計算機相 互連接的裝置和一些模擬計算機處理器的裝置以及執行測試程序的裝置的組合。既然每個處理器都需要一個特殊的仿真器,不論是仿真軟件還是代替處理器的相 應的檢測器,那么需要增加符合計算機的性質的仿真器。另外,一般根據仿真器進行研究的可能性比較受限。再加上必需使用與所檢驗的 處理器的特殊機器語言意味著程序員必須是一個機器語言程序設計專家。另外,仿真器成本昂貴,一般只會小批量生產。這類產品的生命周期也很短暫(6 個月至2年),而為了延長飛機程序的周期(20年,甚至更久),在操作條件下需要對運作和檢查裝置進行維護(根據條例,工業反應性)。這表現為越來越難解決的廢舊處理問題。因此這種仿真器的解決方案并不具有很好的實用性,因為,除了在檢查研究方面 的表現欠佳,它的使用和維護成本還很高。成本還可能增加的原因在于一般地出于安全設計理念,要使用處理器的不同模型 以確保運行冗余,這就要求同樣多的仿真器。第二種排除仿真器問題的方法在于,在執行要測試的程序前,在主平臺上模擬計 算機的運行。在這種情況下,為了讀取測試的矢量或為了記錄測試的結果,要測試的軟件應 當訪問主平臺的文件。因為要測試的軟件自身并不包括類似的訪問主平臺的文件系統的功能,所以需要 改進要測試的軟件,增加這些訪問功能。為了轉移這些信息,人們一般使用由模擬測試環境發出的調用系統的指令。調用 系統的指令可以是,例如打開文件,寫入文件或者甚至是讀取文件。調用系統指令通過主平 臺操作系統捕獲,并將其轉換為主平臺的系統調用。這個第二種方法也同樣存在一些不足。事實上,文件種類過多導致訪問功能性的 運作十分依賴主平臺及其操作系統。然而,主平臺不僅在空間上(世界各地分布的操作設 備的情況)而且在時間上(主平臺替換)的變化性是很大的,這就給這種方法的實際操作 帶來困難。這些困難更加嚴重,還因為訪問文件系統的類似功能性的運作,同樣需要能夠改 進操作系統功能的專家的技能,因此一些進行實驗的專家并不具備。因此,這種方法成本過高,很難實施。另外這種方法對要測試的軟件具有損害性,而且為了進行這些測試而修改軟件會 出現軟件本身運行中斷的風險。在計算器軟件生效確認和檢驗階段,測試的執行可揭示體現為運行軟件的運行中 止或者體現為一個或多個測試情況下產生出錯誤結果這一事實的錯誤。程序員這時應該在 指令代碼行中搜索出異常或錯誤,以期改正。通過如下一種執行完成此項搜索其中執行路 徑的連續點的順序與按正常執行的順序相反。換句話說,回溯(remonter) —個代碼行的序 列,在其中搜索錯誤(即返回已經執行的但是包括一個或幾個錯誤的代碼行的序列中),然 后再重新執行這個回溯序列。這種搜索稱為反向執行。這種反向執行要求,在一個指令代碼行序列形成的運行軟件執行路徑的任一點 上,程序員都了解指令代碼行的進展。否則,程序員就不知道在執行路徑的哪個位置出現錯 誤。因此他也不知道應當在多少個執行代碼行上進行反向執行。另外,對于機載軟件,反向 執行應該與正常執行使用同樣的語言,即機器語言。因此對程序員來說很難理解運行軟件 的程序進展以回溯序列和找出錯誤。另外,沒有任何一種反向執行的控制或追蹤裝置能夠 保證程序員知道應該回溯到有故障的序列的哪里以便找出錯誤或異常。考慮到這種復雜性,這種搜索錯誤的方法需要幾小時到幾天不等的大量時間,不 論在生產力還是勞動力方面,這都相對提高了調試階段的成本。這是由于當前調試工具不 提供任何有效支持反向執行的裝置這一事實涉及n個時間單位(通常是秒)或者是n步 計算。與待調試的軟件邏輯沒有任何函數關系。若涉及到如通常機載軟件情況一樣的復雜 邏輯軟件,反向執行的效率顯著減少,甚至完全消失。
發明內容
本發明旨在克服前面所述技術缺陷。為此,本發明推薦一種運行軟件的調試方法,它允許開發人員從開發人員所編寫的指令序列中輕易找到錯誤或異常的位置。為此,本發明的方法建議借助于執行路徑的函數設標組織運行軟件程序的執行。這一函數設標通過在程序正常執行路徑的特別位置上定位(設置)標記以便將程序分割成幾個函數單位來實現,這允許開發人員確定反向執行應當開始被施行的位置。該設標可以交互或自動的方式被施行。更精確的說,本發明旨在一種機載系統的運行軟件的調試方法,其特征在于包括以下步驟a)通過沿著執行路徑布置標記來為程序設立標記,以將所述執行路徑分割成相鄰的函數區間;b)正常執行程序;C)通過標記狀態矢量捕獲程序執行狀態;d)當一個錯誤被檢測出時根據標記狀態矢量搜索有缺陷的函數區間,在該有缺陷的函數區間中反向執行程序;確定并改正錯誤。本發明方法可同樣包含一個或幾個以下特征-在處理器例外之后,當檢測到程序中止時,檢測錯誤;-它包括對錯誤所在的函數區間的細化操作;-函數區間的細化操作包括確定輸入和輸出補充標記和/或中間標記;_搜索有缺陷的函數區間的步驟以自動的方式實施;-搜索有缺陷的函數區間的步驟由開發人員的介入以交互的方式實施;-它包括在主機平臺的結果文件中記錄每個標記的位置和程序執行狀況信息的步
馬聚ο本發明同樣涉及一種模擬飛行器機載系統的運行的設備,其特征在于它包含一個實施前面定義的方法的處理器。本發明的設備可包含以下特征-處理器在一個測試和調試主機平臺上被虛擬模擬。本發明同樣旨在一種用于飛行器的機載系統的可加載在控制單元上的運行程序,包括當程序被加載在控制單元上并在控制單元上執行時用于執行如前定義方法的指令序列。
在閱讀以下說明之后并且在研究附圖之后,將更好地理解本發明。這些不作為對本發明的限制的說明。圖1是根據本發明的程序示意表示,圖2描繪本發明方法的函數圖,
圖3是機載系統的運行軟件的調試階段的一個測試環境的示意圖表示。
具體實施例方式一個運行軟件由一組程序組成。由一組寫入指令序列組成的一個程序被稱為指令 串。根據本發明的該方法建議在機載系統運行軟件的程序執行路徑中方位標點以便能夠根 據這些方位標點確定錯誤或異常位于何處。圖1是該方法不同階段的一個示意圖表示。圖1的每一階段表示與本發明方法不 同的一個步驟上的機載系統運行軟件程序。圖1的第一階段是該程序在實施本發明方法前 的一個例子。該程序,編號為20,包含20-1至20-n —整組指令串。按其出現順序,換而言 之從指令20-1至指令20-n,被執行的這些指令串構成該程序的正常執行路徑。圖1的第二階段表示對應于在標記28已被定位之后的程序20的程序21。標記 28是被定位在程序特別位置的虛擬標記。這些位置最好對應于程序不同函數的開始和/或 結束。標記28例如被定位在程序一個函數的一個輸入點或一個輸出點上。當標記被放置 在程序每一函數的輸入或輸出上時,則標記的定位遵循函數設標被實現。標記也可以被定位在執行路徑的其他任何預定位置上,例如在數據流方面或在控 制流方面的一個程序缺陷點上。標記在程序執行路徑上構成方位標點。由此,當遇到一個 或幾個異常或錯誤,這表現為錯誤的結果、程序進展(c^roulement)中止、或者一個執行死 循環時,標記因此構成程序執行路徑的進展重啟點。一個異常或一個錯誤可是函數的。在此情況下,本方法向開發人員發送一份改正 所述異常或所述錯誤的邀請。異常或錯誤也可能自然而然地造成對程序進展的控制的損失。這樣一種錯誤例如 可以是一種例如由于出現處于禁止區域的指針而造成的處理器算法的溢出。在此情況下, 程序執行被中止。由于算法溢出造成的中止被稱為處理器例外中止(interruption sur exceptionprocesseur) 0本發明提供的執行路徑的函數設標允許檢測而后改正處理器例外中止這類的錯 誤。為此,根據本發明的設標將程序執行路徑分割成相鄰的函數區間。各函數逐個被執行。 在本發明的一種實施方式中,一個標記被定位在每一函數的開始。每一標記包含一個對應 于存儲器圖像的狀態矢量。這一狀態矢量指示在預定位置,換而言之在標記所在的位置存 儲器的狀態,這允許隨后利用狀態矢量信息重新初始化存儲器。在程序進展開始時,所有標記未被激活。這些標記中每一個的狀態矢量都是中性 的,或未被激活的,換而言之它不包含任何信息。每次當一個函數被正常執行時,位于后續 函數輸入端的標記在激活的同時改變狀態。標記的狀態矢量則捕獲該程序的一個執行狀 態,換而言之它捕獲在此程序執行階段系統存儲器中所存儲的信息。設標可以自動方式被實現,換而言之一個標記被自動定位到每一函數區間的開始 端。它也可進行交互,換而言之即開發人員在同一函數內部選擇定位一些補充標記。這些 補充標記可以是輸入標記、輸出標記和/或中間標記。設標的選擇,交互的或是自動的,由 開發人員自己確定。交互設標允許細化錯誤的搜索和改正區間,這允許減小所述區間并因 此為錯誤的檢測提供便利。 圖1的第三階段表示在所述程序以正常模式執行時對應于程序21的程序22。這一正常模式執行,被稱為正常執行,對應于該程序的邏輯進展,從第一指令行20-1開始指 令逐條進行。圖1的第四階段表示程序執行狀態信息和標記位置信息已被捕獲時,對應于程序 21的程序23。實際上,在程序正常執行時,位于一個被正常執行的函數結尾的標記被激活。 該標記的狀態矢量捕獲或存儲該程序執行階段的存儲器狀態。在程序中止時,最近被激活的標記指示程序中止發生所在的函數。這一標記的狀 態矢量允許找回程序在缺陷函數開始執行初期所在的執行狀態。為了狀態矢量的捕獲,一個正常執行的觀察工具確定在標記上的通過,根據其正 常出現順序,換而言之遵從程序指令行的正常執行。當一個標記被通過,觀察工具捕獲所遇 到的最后一個標記的狀態矢量中的存儲器狀態并將其記錄在一個數據存儲器4中。當一個錯誤出現時,開發人員施行一個程序反向執行以便在程序內部找到所述錯 誤。圖1的第五階段表示在該反向執行時對應于程序23的程序24。該反向執行允許沿著 與程序正常進展相反的方向回溯程序,以恢復到對應于被激活的最近標記的函數,換而言 之已被捕獲的狀態矢量所在的最近的函數的第一指令行的執行。換而言之,反向執行遵循標記進行以便回溯程序指令串并確定有缺陷指令串的位 置。反向執行因此可以在單獨一個函數區間內部施行。當一個缺陷串或錯誤在此函數區間 內被檢測出時,開發人員在此串中搜索錯誤或異常,隨后將其改正。得益于這些標記,開發人員能夠輕易地找到有缺陷的指令串。當一個錯誤已被改 正,開發人員可繼續反向執行以檢測可能存在的其他錯誤。實際上,用本發明的方法,執行 路徑被構建為使得多個錯誤或異常可在唯一一次程序調試階段被檢測和改正。剛才描述的調試階段,換而言之錯誤搜索和改正階段,由圖1上的程序25表示。當一個錯誤被確定而且開發人員希望轉到下一個或前一個錯誤時,它可以具有一 個交互階段。在此交互階段中,程序26包括一個交互設標,由此開發人員可從一個函數區 間跳至另一個函數區間。圖2詳細描繪本發明方法的不同步驟。圖2的函數圖顯示一個預備步驟30,其中 一個測試環境控制單元檢測一個調試階段是否已被開發人員要求。當開發人員希望施行調試時,測試環境控制單元,在步驟31中,通過在執行路徑 沿線定位標記以便將所述執行路徑分割成相鄰函數區間來對程序設標。每一個標記包含一 個激活或未激活的狀態矢量,如前所述。當關于程序執行狀態的信息被捕獲時,一個標記的 狀態矢量被稱為激活的。因此,當越過該標記的函數已被無誤執行時一個標記的一個狀態 矢量被激活。在相反情況下它保持未激活狀態。步驟32中,控制單元啟動程序的正常執行。步驟33中,控制單元從標記的狀態矢量中捕獲狀態信息以便識別程序的執行狀 態。步驟34中,控制單元檢測是否有運行軟件程序執行的中斷。若程序停止,這意味 著一個錯誤或一個異常情況已被檢測出。則施行步驟35。若沒有任何中斷發生,正常執行 繼續進行且步驟32和33被重復進行。步驟35中,確定在一個處理器例外上中止是否發生。若情況正是如此,則施行步 驟36。在相反情況下,施行步驟37。在此情況下,一個消息被傳送給開發人員以告知程序執行結束,或者是因為一個函數錯誤已被檢測出,或者是因為正常執行無誤終止。本方法則繼續進行步驟43,其中控制單元將標記位置記錄到一個測試結果文件, 以允許對執行路徑的今后訪問。步驟44中,測試結果文件被關閉。步驟45是標明測試或程序執行結束的最終步
馬聚ο若一個處理器例外在步驟35中被檢測出,則在步驟36中,搜索在正常路徑中未被激活的第一個標記以便從中推斷缺陷串所在的函數區間。隨后施行步驟38。步驟38中,開 發人員可以交互方式插入輸入補充標記、輸出補充標記和/或中間標記以便在步驟36中確 定的函數區間內細化錯誤搜索區間。步驟39中,從數據流或控制流中檢測缺陷點。這些缺 陷點允許再次細化錯誤周圍的區間。在確定這些缺陷點之后,在步驟40中,為錯誤周圍的 缺陷區間劃定范圍。應注意的是步驟38至40構成本發明的一種最佳實施方式,其中錯誤周圍的區間 被縮小以便便利反向執行時錯誤的搜索。然而,本方法可預計簡單地從非活動標記的檢測步驟36過渡到反向執行步驟41。 在此情況下,開發人員應該對錯誤已被檢測出的整個函數施行反向執行。步驟41中,啟動允許回溯到程序的缺陷指令串被檢測出的函數的反向執行。在本 發明的一種實施方式下,反向執行在連續的兩個標記間(區間)完成。在最常見的情況下 這對應缺陷函數的開始和結束。當然可以沒有任何特別限制地從一個區間跳變到另一個。 在另一種實施方式下,反向執行在錯誤周圍的一個細化區間上,換而言之僅在函數的一部 分上,被施行。步驟42中,開發人員執行錯誤的調試,換而言之他在缺陷函數區間中確定錯誤并 將其改正。當調試步驟42結束時,本方法重復步驟31以便檢驗程序是否正確地被執行。當控制單元在處理器例外上不再檢測中斷時,控制單元則向開發人員發送一個消 息指出程序調試階段結束(步驟37)。根據本發明的方法可被用于在主機平臺上虛擬模擬的一個系統測試環境中。它同 樣可被安裝到一個借助于專用運行仿真器與一個真實機載系統相連接的工作臺上。在此情 況下,標記位置和/或狀態矢量被記錄(步驟43)到一個開發人員可存取的載體上,例如, 在主機平臺的結果文件中。當所有標記位置已被記錄起來時,結果文件被關閉(步驟44) 且測試結束(步驟45)。所有結果的檢驗被執行(步驟46)。當所有結果均佳,或者0K,到 達指明所有這些結果都OK的最終步驟47。若不是所有結果都0K,步驟36至42被重復進 行。圖3顯示實施根據本發明的方法的機載系統的運行程序的測試環境中的一個控 制單元1的例子。該控制單元1包含一個處理器2、一個程序存儲器3、一個數據存儲器4、 和一個輸入/輸出接口 5。處理器2、程序存儲器3、數據存儲器4和輸入/輸出接口 5由雙 向通信總線6互相連接。程序7由處理器2通過使用裝入程序存儲器3中的指令代碼串執行。程序7旨在 引導和控制機載系統的運行。程序7并非窮舉地包括一個中止管理軟件8、一個資料庫9、 一個序列發生器10、和一組應用程序11。資料庫9包含由程序7激活的控制函數集。中止管理軟件8旨在不僅對處理器2的意外請求作出實時反應而且保證測試環境的多任務的共存。序列發生器10是一個使得 根據不同的優先級標準以及根據可用資源來自動確定處理器2應執行的任務處理的優先 級順序的服務程序。程序存儲器3,在區域12中,包括允許建立如前所述的程序7的函數設標以及允許 指明所遇錯誤或異常的位置以便將其改正的指令。程序存儲器3,在區域13中,包括用于捕獲程序7中標記的狀態矢量的指令。每一 激活標記的位置及其狀態矢量被記錄在數據存儲器4中。程序存儲器3,在區域14中,包括用于啟動程序7的正常執行的指令。運行軟件的 程序7的執行由此展開,指令逐條進行,并逐步進行標記狀態矢量的激活。當一個錯誤出現 在一個函數中時,程序7的執行被中止。位于發現錯誤的函數之后的標記狀態矢量不被激 活。最后的被激活標記的狀態矢量則構成一個指示缺陷函數換而言之包含錯誤的函數的方 位標。程序存儲器3,在區域15中,包括用于啟動反向執行的指令。反向執行允許,當錯 誤被檢測出時,回溯至包含缺陷指令的函數。開發人員來到與最后的激活狀態矢量關聯的 標記以重新開始該函數的執行。因此,開發人員僅在缺陷函數上施行反向執行。程序存儲器3,在區域16中,包括允許操作借助于標記采集的信息的指令。這些指 令允許程序7的調試。程序存儲器3,在區域17中,包括允許執行函數區間跳變的指令。換而言之,區域 17的指令代碼允許從一個函數區間跳變到另一個,而且程序7的進展是正常執行或反向執 行。由之前所述理解,本發明的函數設標允許有效的軟件調試,因為它提供一種發現 缺陷指令串以便將反向執行限制在唯一一個函數的指令中的裝置。此外,它允許在唯一一 個調試階段改正多個錯誤。
權利要求
一種機載系統的運行軟件的調試方法,其特征在于包括以下步驟a)通過沿著執行路徑布置標記來為程序設立標記(31),以將所述執行路徑分割成相鄰的函數區間;b)正常執行(32)程序;c)通過標記狀態矢量捕獲(33)程序執行狀態;d)當一個錯誤被檢測出時根據標記狀態矢量搜索(36)有缺陷的函數區間,在該有缺陷的函數區間中反向執行(41)程序;確定并改正(42)錯誤。
2.根據權利要求1所述的方法,其特征在于在處理器例外之后,當檢測到程序中止時, 檢測錯誤。
3.根據權利要求1或2所述的方法,其特征在于包括對錯誤所在的函數區間的細化操作。
4.根據權利要求3所述的方法,其特征在于函數區間的細化操作包括確定輸入和輸出 補充標記和/或中間標記。
5.根據權利要求1至4中任一項所述的方法,其特征在于搜索有缺陷的函數區間的步 驟以自動的方式實施。
6.根據權利要求1至4中任一項所述的方法,其特征在于搜索有缺陷的函數區間的步 驟由開發人員的介入以交互的方式實施。
7.根據權利要求1至6中任一項所述的方法,其特征在于包括在主機平臺的結果文件 中記錄每個標記的位置和程序執行狀況信息的步驟。
8.一種模擬飛行器機載系統的運行的設備,其特征在于包括執行根據權利要求1至7 中任一項所述的方法的處理器(2)。
9.根據權利要求8所述的設備,其特征在于處理器(2)在測試和調試主機平臺上被虛 擬模擬。
10.一種用于飛行器的機載系統的可加載在控制單元(1)上的運行程序,包括當程序 被加載在控制單元(1)上并在控制單元(1)上執行時用于執行根據權利要求1至7中任一 項所述的方法的指令序列。
全文摘要
本發明涉及一種機載系統的運行軟件的程序的調試方法,其特征在于包括以下步驟a)通過沿著執行路徑布置標記來為程序設立標記(31),以將所述執行路徑分割成相鄰的函數區間;b)正常執行(32)程序;c)通過標記狀態矢量捕獲(33)程序執行狀態;d)當一個錯誤被檢測出時根據標記狀態矢量搜索(36)有缺陷的函數區間,在該有缺陷的函數區間中反向執行(41)程序;確定并改正(42)錯誤。
文檔編號G06F11/36GK101802794SQ200880106874
公開日2010年8月11日 申請日期2008年9月12日 優先權日2007年9月14日
發明者F·蘭蒂姆比沃羅羅納, F·富尼耶, P·勒墨爾, V·布雷容 申請人:空中客車運營簡易股份公司