• 核心轉儲

    編輯
    本詞條由“匿名用戶” 建檔。

    核心轉儲

    編輯

    核心轉儲,由工作的記錄狀態的存儲器a的計算機程序在特定的時間,一般當程序崩潰或否則異常終止。實際上,通常會同時轉儲程序狀態的其他關鍵部分,包括處理器寄存器,可能包括程序計數器和堆棧指針,內存管理信息以及其他處理器和操作系統標志和信息。一個快照轉儲(或快照轉儲)是由所請求的內存轉儲計算機操作員或由正在運行的程序,在此之后,程序可以繼續。核心轉儲通常用于協助診斷和調試計算機程序中的錯誤。

    在許多操作系統上,程序中的致命異常會自動觸發核心轉儲。通過擴展,短語“轉儲核心”在許多情況下已經意味著任何致命錯誤,無論程序內存記錄是否存在。

    核心轉儲

    核心轉儲的使用

    編輯

    核心轉儲可以在多種情況下充當有用的調試輔助工具。在早期的獨立或批處理系統上,核心轉儲允許用戶調試程序,而無需獨占(非常昂貴的)計算工具進行調試。與使用前面板開關和指示進行調試相比,打印輸出也可能更方便。

    在共享計算機上,無論是分時共享,批處理還是服務器系統、核心轉儲都可以對操作系統進行脫機調試,以便系統可以立即恢復運行。

    核心轉儲允許用戶保存崩潰以供以后進行或脫機分析,或與其他崩潰進行比較。對于嵌入式計算機,在計算機本身上支持調試可能不切實際,因此轉儲分析可能在另一臺計算機上進行。某些操作系統(例如Unix的早期版本)不支持將調試器附加到正在運行的進程,因此,必須有核心轉儲才能在進程的內存內容上運行調試器。

    核心轉儲可用于捕獲在動態內存分配過程中釋放的數據,因此可用于從不再運行的程序中檢索信息。在沒有交互式調試器的情況下,刻苦的程序員可以使用核心轉儲從直接檢查中確定錯誤。

    核心轉儲的分析

    編輯

    核心轉儲表示轉儲進程地址空間中轉儲區域的完整內容。根據操作系統的不同,轉儲可能包含很少或沒有數據結構來幫助解釋內存區域。在這些系統中,成功的解釋要求試圖解釋轉儲的程序或用戶理解程序的內存使用結構。

    調試器可以使用符號表(如果有的話)來幫助程序員解釋轉儲,以符號方式識別變量并顯示源代碼。如果符號表不可用,則可以對轉儲進行較少的解釋,但仍可能有足夠的可能性來確定問題的原因。也有稱為轉儲分析器的專用工具來分析轉儲。GNU binutils的objdump是一種可在許多操作系統上使用的流行工具。

    在類似Unix的現代操作系統上,管理員和程序員可以使用GNU Binutils二進制文件描述符庫(BFD)以及使用該庫的GNU調試器(gdb)和objdump讀取核心轉儲文件。該庫將提供核心轉儲中內存區域中給定地址的原始數據;它對那個內存區域中的變量或數據結構一無所知,因此使用該庫讀取核心轉儲的應用程序將必須確定變量的地址并確定數據結構本身的布局,例如通過使用符號表用于正在調試的程序。

    來自Linux系統的崩潰轉儲的分析人員可以使用kdump或Linux內核崩潰轉儲(LKCD)。

    核心轉儲可以將進程的上下文(狀態)保存為給定狀態,以便稍后返回。通過在處理器之間轉移內核,有時通過內核轉儲文件本身,可以使系統具有高可用性。

    核心也可以通過網絡轉儲到遠程主機上(存在安全風險)。

    核心轉儲文件

    編輯

    格式化

    在較早和較簡單的操作系統中,每個進程都有一個連續的地址空間,因此轉儲文件有時只是一個具有字節、數字、字符或單詞的序列的文件。在其他早期機器上,轉儲文件包含離散記錄,每個記錄包含一個存儲地址和相關內容。在早期的計算機上,轉儲通常是由獨立的轉儲程序而不是由應用程序或操作系統編寫的。

    在IBM System / 360上,標準操作系統編寫了格式化的ABEND和SNAP轉儲,并將地址、寄存器、存儲內容等都轉換為可打印形式。后來的發行版增加了寫入未格式化的轉儲的功能,當時稱為核心映像轉儲。

    在現代操作系統中,進程地址空間可能存在間隙,并與其他進程或文件共享頁面,因此使用了更為詳盡的表示形式。它們還可能包含有關轉儲時程序狀態的其他信息。

    在類似Unix的系統中,核心轉儲通常使用標準的可執行映像格式:

    • a.out的舊版本中的Unix,
    • 現代Linux、System V、Solaris和BSD系統中的ELF,
    • Mach-O的在MacOS的,等等。

    內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/116253/

    (2)
    詞條目錄
    1. 核心轉儲
    2. 核心轉儲的使用
    3. 核心轉儲的分析
    4. 核心轉儲文件
    5. 格式化

    輕觸這里

    關閉目錄

    目錄
    91麻精品国产91久久久久