檢視原始碼 Runtime_Tools 版本說明

此文件描述對 Runtime_Tools 應用程式所做的變更。

Runtime_Tools 2.1.1

修正的錯誤與故障

  • 修正了遠端節點上的 dbg 工作階段過早終止的錯誤。

    自有 ID:OTP-19188 輔助 ID:PR-8692

Runtime_Tools 2.1

改進與新功能

  • instrument 模組現在可以追蹤每個進程或每個埠的配置。

    自有 ID:OTP-18577 輔助 ID:PR-7236

  • 新的函式 proc_lib:set_label/1 可以用來為任何沒有註冊名稱的進程新增描述性術語。此名稱將顯示在 c:i/0observer 等工具中,並且會包含在使用 gen_servergen_statemgen_eventgen_fsm 的進程產生的當機報告中。

    可以透過呼叫 proc_lib:get_label/1 來檢索進程的標籤。

    請注意,這些函式適用於任何進程,而不僅限於使用 proc_lib 的進程。

    範例

    1> self().
    <0.90.0>
    2> proc_lib:set_label(my_label).
    ok
    3> i().
        .
        .
        .
    <0.90.0>              erlang:apply/2                        2586    75011    0
    my_label              c:pinfo/2                               51
    4> proc_lib:get_label(self()).
    my_label

    自有 ID:OTP-18789 輔助 ID:PR-7720PR-8003

  • 已將類型規範新增至所有 dbg 函式。

    自有 ID:OTP-18859 輔助 ID:PR-7782

  • 文件已遷移以使用 Markdown 和 ExDoc。

    自有 ID:OTP-18955 輔助 ID:PR-8026

  • dbg 已更新為使用追蹤工作階段

    已新增 dbg:session_create/1dbg:session/2dbg:session_destroy/1 以使用工作階段。請參閱文件以瞭解詳細資訊。

    自有 ID:OTP-19081 輔助 ID:PR-8363

Runtime_Tools 2.0.1

修正的錯誤與故障

  • 修正了當埠已停止時,擷取觀察器埠資訊可能會當機的問題。

    自有 ID:OTP-18868 輔助 ID:GH-7735

  • 修正了 Windows 上的一些良性編譯警告。

    自有 ID:OTP-18895

Runtime_Tools 2.0

修正的錯誤與故障

  • 修正了 instrument:carriers/0,1 的類型規範

    自有 ID:OTP-18499 輔助 ID:PR-6946

改進與新功能

  • 新增 dbg:tracer(file, Filename) 作為以純文字追蹤至檔案的便捷方式。

    自有 ID:OTP-18211 輔助 ID:PR-6143

  • 藉由在嵌入模式的啟動順序中新增一個額外的步驟來改善啟動期間 on_load 模組的處理,該步驟會執行所有 on_load 處理常式,而不是依賴稍後在核心監督樹狀結構啟動時明確叫用它們。

    這主要是一個程式碼改進和 OTP 內部簡化,以避免未來發生錯誤並簡化程式碼維護。

    自有 ID:OTP-18447

  • 已淘汰 dbg:stop_clear/0,因為它只是一個 dbg:stop/0 的函式別名。

    自有 ID:OTP-18478 輔助 ID:GH-6903

  • instrument 模組已從 tools 移至 runtime_tools

    自有 ID:OTP-18487 輔助 ID:PR-6829

  • 已移除實驗性的 erts_alloc_config 模組。它不再產生良好的配置,且無法以合理的向後相容方式進行修復。自 OTP 25 以來,它已被淘汰並排定在 OTP 26 中移除。

    * 可能不相容 *

    自有 ID:OTP-18549 輔助 ID:PR-7105

Runtime_Tools 1.19

修正的錯誤與故障

  • 在 macOS 和 Windows 上讀取埠的通訊端選項會「跳過」無效的選項。

    自有 ID:OTP-18012 輔助 ID:#5798

改進與新功能

  • dbg:stop/0 現在的行為與 dbg:stop_clear/0 類似,會清除所有函式的全域追蹤模式。

    自有 ID:OTP-17909 輔助 ID:ERIERL-760

  • erts_alloc_config 已排定在 OTP 26 中移除。它在很長一段時間內都沒有產生良好的配置,而且很遺憾地無法以向後相容的方式進行修復。

    自有 ID:OTP-17939

Runtime_Tools 1.18

修正的錯誤與故障

  • 修正了 scheduler:utilization(Seconds) 中會不正確地將 scheduler_wall_time 系統旗標啟用而未停用的錯誤。

    自有 ID:OTP-17800 輔助 ID:PR-5425

改進與新功能

  • 新增 scheduler:get_sample/0get_sample_all/0。同時說明 scheduler 模組文件關於它如何取決於系統旗標 scheduler_wall_time

    自有 ID:OTP-17830 輔助 ID:GH-5425、PR-5444

Runtime_Tools 1.17

改進與新功能

  • 觀察器現在有一個新通訊端的區段。

    自有 ID:OTP-17346

  • 已擴充 dbg 文件以包含所有函式名稱縮寫的含義。

    自有 ID:OTP-17572 輔助 ID:PR-5117

Runtime_Tools 1.16.2

改進與新功能

  • 已移除實驗性的 HiPE 應用程式,以及其他應用程式中所有相關的功能。

    * 可能不相容 *

    自有 ID:OTP-16963

Runtime_Tools 1.16.1

修正的錯誤與故障

  • 函式 dbg:n/1 使用本機函式在遠端節點上設定追蹤器。只要遠端節點執行完全相同版本的 Erlang/OTP,這就能運作正常,但否則就完全無法運作。解決方法是匯出相關函式,並在遠端節點上呼叫此函式來設定遠端追蹤。

    自有 ID:OTP-16930 輔助 ID:ERL-1371、GH-4396

Runtime_Tools 1.16

改進與新功能

  • 說明模組 'scheduler' 的文件。

    自有 ID:OTP-17208 輔助 ID:GH-4502、PR-4532

Runtime_Tools 1.15.1

修正的錯誤與故障

  • 修正在嘗試從正在終止的埠讀取埠資訊時,由 appmon_info 觸發的當機。

    appmon_infoobserver 用來從觀察到的節點取得資訊。

    自有 ID:OTP-16787 輔助 ID:PR-2673

Runtime_Tools 1.15

改進與新功能

  • 改善 instrument 模組中配置和載體的呈現。

    自有 ID:OTP-16327

  • 由於進行了新的衍生改進而進行的次要更新。

    自有 ID:OTP-16368 輔助 ID:OTP-15251

Runtime_Tools 1.14.0.1

修正的錯誤與故障

  • 函式 dbg:n/1 使用本機函式在遠端節點上設定追蹤器。只要遠端節點執行完全相同版本的 Erlang/OTP,這就能運作正常,但否則就完全無法運作。解決方法是匯出相關函式,並在遠端節點上呼叫此函式來設定遠端追蹤。

    自有 ID:OTP-16930 輔助 ID:ERL-1371、GH-4396

Runtime_Tools 1.14

改進與新功能

  • 修正 dbg:stop_clear/0 以同時清除追蹤事件(send'receive')。

    自有 ID:OTP-16044

Runtime_Tools 1.13.3

改進與新功能

  • 由於 crypto 應用程式的組態移動,因此必須對建置系統進行次要更新。

    自有 ID:OTP-15262 輔助 ID:OTP-15129

Runtime_Tools 1.13.2.1

修正的錯誤與故障

  • 函式 dbg:n/1 使用本機函式在遠端節點上設定追蹤器。只要遠端節點執行完全相同版本的 Erlang/OTP,這就能運作正常,但否則就完全無法運作。解決方法是匯出相關函式,並在遠端節點上呼叫此函式來設定遠端追蹤。

    自有 ID:OTP-16930 輔助 ID:ERL-1371、GH-4396

Runtime_Tools 1.13.2

改進與新功能

  • 更新 systemtap 追蹤範例指令碼。

    自有 ID:OTP-15670

Runtime_Tools 1.13.1

改進與新功能

  • 透過使用新的 system_info(ets_count) 而不是較為昂貴的 length(ets:all()) 來最佳化 observer

    自有 ID:OTP-15163 輔助 ID:PR-1844

Runtime_Tools 1.13

改進與新功能

  • 新增工具模組 scheduler,可更輕鬆地測量排程器使用率。

    自有 ID:OTP-14904

Runtime_Tools 1.12.5

修復的錯誤與故障

Runtime_Tools 1.12.4

改進與新功能

  • 新的 erts_alloc 策略系列:年齡順序最先適配。類似於「位址順序」,但會優先選擇最舊的可用載體進行分配。

    自有 ID:OTP-14917 輔助 ID:ERIERL-88

Runtime_Tools 1.12.3

修復的錯誤與故障

  • 已移除文件中所有未使用的舊檔案。

    自有 ID:OTP-14475 輔助 ID:ERL-409, PR-1493

Runtime_Tools 1.12.2

改進與新功能

  • 通用 Unicode 改進。

    自有 ID:OTP-14462

Runtime_Tools 1.12.1

修復的錯誤與故障

  • 將追蹤模式儲存到檔案時,新增了錯誤的編碼註解。現已修正。

    自有 ID:OTP-14479

Runtime_Tools 1.12

修復的錯誤與故障

  • 在具有 on_load 指令的模組中新增編譯選項 -compile(no_native),HiPE 尚未支援此指令。

    自有 ID:OTP-14316 輔助 ID:PR-1390

改進與新功能

  • 因原子包含任意 Unicode 字元而進行的各種更新。

    自有 ID:OTP-14285

  • 現在,在支援的平台上,套接字可以繫結至裝置 (SO_BINDTODEVICE)。

    此功能已實作,例如在 Linux 下支援 VRF-Lite;請參閱 VRF 和 GitHub Pull Request #1326

    自有 ID:OTP-14357 輔助 ID:PR-1326

Runtime_Tools 1.11.1

修復的錯誤與故障

  • etop 錯誤地報告了工具首次啟動以來的平均排程器使用率,而不是上次更新以來的排程器使用率。現已修正。

    自有 ID:OTP-14090 輔助 ID:seq13232

Runtime_Tools 1.11

改進與新功能

  • 將選項 queue_size 新增至 ttb:tracer/2。這會設定 IP 追蹤驅動程式的最大佇列大小,該驅動程式用於追蹤到 Shell 和/或 {local,File}

    queue_size 的預設值由 dbg 指定,現在從 50 變更為 200。

    自有 ID:OTP-13829 輔助 ID:seq13171

  • 已更新連接埠資訊頁面,以顯示每個連接埠的更多資訊。

    自有 ID:OTP-13948 輔助 ID:ERL-272

Runtime_Tools 1.10.1

改進與新功能

  • 修正了一些次要的文件問題。

    自有 ID:OTP-13891

Runtime_Tools 1.10

修復的錯誤與故障

  • 修正 dbg:trace_port/2 中的錯誤,該錯誤可能導致追蹤 IP 驅動程式產生錯誤的錯誤報告「...(re)selected before stop_select was called for driver trace_ip_drv」。

    自有 ID:OTP-13576 輔助 ID:ERL-119

改進與新功能

  • 新增微狀態計數

    微狀態計數是一種追蹤 ERTS 內不同執行緒處於哪種狀態的方式。主要使用範圍是藉由檢查執行緒處於哪種狀態來找出效能瓶頸,然後從那裡找出優化的原因和位置。

    由於檢查微狀態計數是否開啟或關閉的成本相對較高,因此預設只會啟用少數狀態,而且可以透過設定來啟用更多狀態。

    runtime_tools 中新增了一個名為 msacc 的便利模組,可協助收集和解譯微狀態計數的資料。

    如需更多資訊,請參閱 erlang:statistics(microstate_accounting, ) 和 runtime_tools 中的 msacc 模組。

    自有 ID:OTP-12345

  • 更新觀察者 GUI 以支援在連接埠上追蹤,並為傳送/接收設定比對規格。這需要在 runtime_tools/dbg 中進行一些小的錯誤修正。

    自有 ID:OTP-13481

  • 更新 dbg 和 ttb 以搭配追蹤器模組作為追蹤器,並在連接埠上進行追蹤。

    自有 ID:OTP-13500

  • 更新 dbg 以接受新的追蹤選項 monotonic_timestampstrict_monotonic_timestamp

    自有 ID:OTP-13502

  • 透過 Erlang 追蹤引入 LTTng 追蹤。

    若要啟用 LTTng,需要使用設定選項 --with-dynamic-trace=lttng 建置 OTP。

    動態追蹤模組 dyntrace 現在可以用作 Erlang 追蹤的 LTTng 接收器。如需所有追蹤點的清單,請參閱 Runtime Tools 使用者指南

    此功能也會在追蹤標籤中引入不相容的變更。追蹤標籤 gc_startgc_end 已拆分為 gc_minor_startgc_minor_endgc_major_startgc_major_end

    * 可能不相容 *

    自有 ID:OTP-13532

Runtime_Tools 1.9.3

改進與新功能

  • dbg:trace_client() 現在使用讀取緩衝區來加速讀取追蹤檔案。

    自有 ID:OTP-13279

Runtime_Tools 1.9.2

改進與新功能

  • 釐清 dbg:stop 文件

    自有 ID:OTP-13078

Runtime_Tools 1.9.1

修復的錯誤與故障

  • trace_file_drv 未正確處理 EINTR,這導致執行時間系統收到訊號時失敗。

    自有 ID:OTP-12890 輔助 ID:seq12885

Runtime_Tools 1.9

改進與新功能

  • 將授權文字從 Erlang 公共授權變更為 Apache 公共授權 v2

    自有 ID:OTP-12845

Runtime_Tools 1.8.16

修復的錯誤與故障

  • 呼叫 dbg:stop/0 時,dbg 啟動的追蹤處理序並非總是終止。

    自有 ID:OTP-12517

Runtime_Tools 1.8.15

修復的錯誤與故障

  • nif_version 新增至 erlang:system_info/1,以便取得執行時間系統的 NIF API 版本,方式與 driver_version 類似。

    自有 ID:OTP-12298

Runtime_Tools 1.8.14

修復的錯誤與故障

  • dbg:{stop,stop_clear} 函式的傳回值文件現在已正確 (感謝 Luca Favatella)

    自有 ID:OTP-11603

  • 修正 Illumos 上的 DTrace 建置。(感謝 Ryan Zezeski。)

    自有 ID:OTP-11622

  • 請勿關閉 scheduler_wall_time,因為它可能會干擾其他應用程式的使用。

    自有 ID:OTP-11693 輔助 ID:seq12528

  • 已修正下列應用程式的應用程式升級 (appup) 檔案:

    asn1、common_test、compiler、crypto、debugger、dialyzer、edoc、eldap、erl_docgen、et、eunit、gs、hipe、inets、observer、odbc、os_mon、otp_mibs、parsetools、percept、public_key、reltool、runtime_tools、ssh、syntax_tools、test_server、tools、typer、webtool、wx、xmerl

    在 test_server 中新增了一個用於測試 appup 檔案的測試工具。目前 OTP 中的大多數應用程式都使用此工具。

    (感謝 Tobias Schlager)

    內部編號:OTP-11744

改進與新功能

  • 允許安裝路徑包含 Unicode 字元。

    內部編號:OTP-10877

  • 已更新 erts_alloc_config 工具,以產生更適合當今 VM 中 SMP 支援的組態。

    內部編號:OTP-11662

  • 已引入 app 檔案鍵 runtime_dependencies

    已將執行時依賴項新增至 OTP 中的所有應用程式檔案。請注意,在 OTP 17 期間這些依賴項可能不完全正確,但目前正積極進行處理。

    當呼叫 system_information:sanity_check/0 函式時,將會驗證系統中所有宣告的執行時依賴項。

    內部編號:OTP-11773

Runtime_Tools 1.8.13

已修正的錯誤與故障

  • 當 ERTS 內部記憶體配置器被停用時,Observer 沒有產生正確的結果。

    內部編號:OTP-11520

Runtime_Tools 1.8.12

已修正的錯誤與故障

  • 在呼叫 dbg:p/2 時,現在允許使用程序追蹤標誌 'silent'。

    內部編號:OTP-11222

改進與新功能

  • 引入了用於檢查系統和組建組態的功能。

    內部編號:OTP-11196

Runtime_Tools 1.8.11

已修正的錯誤與故障

  • 修正了 observer 中一些與 CPU/排程器使用率計算相關的錯誤。

    當執行 hipe 時,接受程序的當前函數為 'undefined'。

    內部編號:OTP-10894

改進與新功能

  • 現在 Erlang 原始檔中的非 ASCII 字元會以 UTF-8 編碼 (而非 latin1)。

    內部編號:OTP-11041 輔助編號:OTP-10907

Runtime_Tools 1.8.10

已修正的錯誤與故障

  • 修復了不再存在的 ets 表格上表格檢視器重新整理時當機的問題。(感謝 Peti Gömori)

    內部編號:OTP-10635

改進與新功能

  • 已將動態追蹤工具 dtrace 和 systemtap 的使用者指南新增至文件。

    內部編號:OTP-10155

  • 在必要時,已在 Erlang 檔案中新增說明編碼方式的註解。此註解旨在 Erlang/OTP R17B 時移除,屆時 UTF-8 將成為預設編碼方式。

    內部編號:OTP-10630

  • 已修正一些範例超出 PDF 頁面寬度的問題。

    內部編號:OTP-10665

  • 後端模組 appmon_info.erl 從 appmon 應用程式移至 runtime_tools。這樣一來,appmon 就可以從遠端 Erlang 節點朝向未安裝 appmon (及其依賴項) 的目標節點執行,前提是目標節點已安裝 runtime_tools。

    內部編號:OTP-10786

Runtime_Tools 1.8.9

已修正的錯誤與故障

  • 變更模組層級的文件,以提供使用 `dyntrace:p()` 追蹤函式的完整逐步指示。(感謝 Scott Lystig Fritchie)

    內部編號:OTP-10141

  • 在 dyntrace.erl 和 dyntrace.c 中新增 1024 個獨立的 USDT 探針。(感謝 Scott Lystig Fritchie)

    內部編號:OTP-10143

  • 將 DTrace 探針的主體重新配置到靜態連結的 VM。

    由於各種作業系統 (在 DTrace 和 SystemTap 世界中) 並不完全支援共用程式庫中的 DTrace 探針 (或 SystemTap 相容模式探針),因此我們將這些探針重新配置到靜態連結的虛擬機器。這可以被視為 (目前) 實驗性功能對原始 VM 的污染。不過

    1. 此程式碼可以由 C 前處理器完全消除。 2. 將探針保留在 dyntrace NIF 共用程式庫中在太多平台上根本無法正確運作。非常感謝 Basho 的 Macneil Shonle 在我受 RSI 傷害的手指不行時協助我。(注意:Solaris 10 和 FreeBSD 9.0-RELEASE 可能需要很長時間才能編譯)

    內部編號:OTP-10189

Runtime_Tools 1.8.8

改進與新功能

  • 來自 Scott Lystig Fritchie 的 DTrace 原始碼修補程式已整合到原始碼樹中。仍然不支援在生產環境中使用帶有 dtrace 探針的模擬器,但它可能是一個有價值的偵錯工具。使用 --with-dynamic-trace=dtrace (或 --with-dynamic-trace=systemtap) 進行設定,以建立啟用 dtrace 探針的組建。請參閱 runtime_tools 以取得文件和範例。

    內部編號:OTP-10017

Runtime_Tools 1.8.7

已修正的錯誤與故障

  • 先前的 dbg:stop 僅執行 erlang:trace_delivered,且未刷新追蹤檔案驅動程式。因此,當 dbg:stop 返回時,可能仍然存在傳遞到驅動程式 (由 erlang:trace_delivered 保證) 但尚未寫入檔案的追蹤訊息。現在會在每個節點上終止 dbg 程序之前新增刷新。

    內部編號:OTP-9651

  • 由 trace_file_drv 驅動程式建立的檔案控制代碼會繼承到子程序。現在已修正此問題。

    內部編號:OTP-9658

改進與新功能

  • 現在,如果您限制工作的數量,可以使用平行 make 來組建 Erlang/OTP,例如使用 'make -j6' 或 'make -j10'。由於某些遺失的依賴項,目前 'make -j' 無法運作。

    內部編號:OTP-9451

  • 新增了兩個新的內建追蹤模式別名:caller_trace (c) 和 caller_exception_trace (cx)。請參閱 dbg:ltp/0 文件以取得更多資訊。

    內部編號:OTP-9458

Runtime_Tools 1.8.6

改進與新功能

  • 新增了兩個新的內建追蹤模式別名:caller_trace (c) 和 caller_exception_trace (cx)。請參閱 dbg:ltp/0 文件以取得更多資訊。

    內部編號:OTP-9458

Runtime_Tools 1.8.5

改進與新功能

  • 當 inviso 設定大量追蹤模式時,Erlang VM 可能會在幾秒鐘內沒有回應。現在已修正此問題。

    內部編號:OTP-9048 輔助編號:seq11480

Runtime_Tools 1.8.4.1

已修正的錯誤與故障

  • 次要修正以及移除暫時的因應措施。

    內部編號:OTP-8755 輔助編號:seq-11628、seq-11639

  • inviso_autostart_server 中的小修正。

    內部編號:OTP-8783 輔助編號:seq11628

Runtime_Tools 1.8.4

改進與新功能

  • 其他雜項更新。

    內部編號:OTP-8705

Runtime_Tools 1.8.3

改進與新功能

  • 交叉編譯改進和其他組建系統改進。

    最值得注意的是

    • 許多交叉編譯改進。舊的交叉編譯支援或多或少是不存在的,而且已損壞。請注意,交叉編譯支援仍應被視為實驗性的。另請注意,舊的交叉編譯組態在未修改的情況下無法使用。如需有關交叉編譯 Erlang/OTP 的更多資訊,請參閱 $ERL_TOP/INSTALL-CROSS.md 檔案。
    • 支援使用 DESTDIR 進行分階段安裝。舊的損壞 INSTALL_PREFIX 也已修復。如需更多資訊,請參閱 $ERL_TOP/INSTALL.md 檔案。
    • 頂層 Makefilerelease 目標的文件。如需更多資訊,請參閱 $ERL_TOP/INSTALL.md 檔案。
    • make install 現在預設建立相對符號連結,而非絕對符號連結。如需更多資訊,請參閱 $ERL_TOP/INSTALL.md 檔案。
    • $ERL_TOP/configure --help=recursive 現在可以運作,並印出所有具有 configure 指令碼的應用程式的說明。
    • make all 之後直接執行 make installmake release 不會再觸發其他雜項重建。
    • 在沒有先執行 make all 的情況下執行 make installmake release 時,現在會使用現有的引導系統。
    • 當動態連結到 libssl.solibcrypto.so 時,cryptossl 應用程式使用相同的執行階段程式庫路徑。執行階段程式庫搜尋路徑也已延伸。
    • erl_interfaceodbcconfigure 指令碼現在會以與 ERTS 相同的方式搜尋執行緒程式庫和執行緒程式庫怪癖。
    • 當在 64 位元系統上組建時,odbc 應用程式的 configure 指令碼現在也會在 lib64lib/64 目錄中尋找 odbc 程式庫。
    • 現在會自動產生 erl_interface 應用程式中的 config.h.in 檔案,而不是靜態更新,這減少了 configure 測試沒有任何效果的風險。

    (感謝 Henrik Riomar 的建議與測試)

    (感謝 Winston Smith 的 AVR32-Linux 交叉組態與測試)

    * 可能不相容 *

    內部編號:OTP-8323

  • 由 tidier 建議的清理,以及類型和規格的現代化。

    內部編號:OTP-8455

Runtime_Tools 1.8.2

改進與新功能

  • 文件現在使用大多數平台上都存在的開源工具 (xsltproc 和 fop) 構建。一個明顯的變化是框架已被移除。

    自有 ID: OTP-8201

Runtime_Tools 1.8.1

已修復的錯誤和故障

  • Makefile.in 已更新為使用 LDFLAGS 環境變數(如果已設定)。(感謝 Davide Pesavento。)

    自有 ID: OTP-8157

Runtime_Tools 1.8

改進與新功能

  • 如果模擬器的自訂記憶體分配器已關閉(例如使用 +Meamin 選項),etop 會崩潰。

    自有 ID: OTP-7519

  • 版權聲明已更新。

    自有 ID: OTP-7851

  • 現在,dbg:p/2 接受文件中所述的 {X,Y,Z} 處理程序規格。它現在也接受類似於 erlang:pid_to_list/1 的 "<X.Y.Z>"。

    dbg 中現在有一個預先儲存的 match spec,可節省大量的輸入。使用 dbg:ltp/0 了解更多...

    自有 ID: OTP-7867

Runtime_Tools 1.7.3

已修復的錯誤和故障

  • 修正了時間戳問題,其中某些事件可能會以無序的方式發送。資料呈現的次要修復。

    自有 ID: OTP-7544 輔助 ID: otp-7442

Runtime_Tools 1.7.2

已修復的錯誤和故障

  • etop 現在比以前更快更可靠地收集處理程序資訊(已消除 Igor Goryachev 報告的競爭條件)。

    當呼叫 ttb:stop/0 時,追蹤訊息可能會遺失。

    自有 ID: OTP-7164

Runtime_Tools 1.7.1

改進與新功能

  • 文件已更新,以反映 Erlang shell 的最新更新以及 io_lib 模組的控制序列 p 的次要修改。

    已從程式碼範例和 Erlang shell 範例中移除多餘的空行。

    自有 ID: OTP-6944 輔助 ID: OTP-6554, OTP-6911

  • 記憶體管理改進,特別是針對支援 SMP 的執行階段系統

    • 支援 SMP 的執行階段系統現在可以使用大多數記憶體分配器的多個、特定於執行緒的實例。由於它可以減少記憶體分配器中的鎖爭用,因此可以提高效能。但是,對於某些應用程式,它可能會增加記憶體使用量。支援 SMP 的執行階段系統預設會在大多數分配器上啟用此功能。可以配置所使用的實例數量。
    • driver_alloc()driver_realloc()driver_free() 現在使用它們自己的 erts 特定記憶體分配器,而不是系統上的預設 malloc() 實作。
    • 某些分配器的預設組態已變更,以更符合使用大量記憶體的應用程式。
    • 已新增一些新的 erts_alloc 組態參數。
    • 已修改 erts_alloc_config,使其能夠建立適用於多個分配器實例的組態。
    • 已變更從 erlang:system_info({allocator, Alloc}) 傳回的值。這是因為分配器現在可能會在多個實例中執行。

    如果由於某些原因您希望像以前一樣組態記憶體分配器,則可以將 +Mea r11b 命令列引數傳遞給 erl

    如需詳細資訊,請參閱 erts_alloc(3)m:erts_alloc_configerlang 文件。

    * 可能不相容 *

    自有 ID: OTP-7100

Runtime_Tools 1.7

已修復的錯誤和故障

  • 如果追蹤器處理程序因退出原因 kill 而終止,dbg 可能會讓已追蹤的處理程序處於暫停狀態。

    已引入 erlang:suspend_process/2,它接受選項清單作為第二個引數。如需詳細資訊,請參閱 erlang 文件。

    如果呼叫 erlang:suspend_process/[1,2] 的處理程序終止,則透過 erlang:suspend_process/[1,2] 暫停的處理程序現在會自動恢復。

    先前,處理程序可能會由一個處理程序暫停,然後由另一個處理程序恢復,除非有人追蹤被暫停者。這不再可能。恢復處理程序的處理程序必須是暫停它的處理程序。

    * 可能不相容 *

    自有 ID: OTP-6946

改進與新功能

  • 已移除未記錄且不受支援的函式 dbg:tracer/1。已移除未記錄、不受支援且損壞的函式 dbg:i/1

    自有 ID: OTP-6939

Runtime_Tools 1.6.8

已修復的錯誤和故障

  • 在此版本中,已修復和增強以下功能:自動啟動:現在可以設定將由自動啟動機制載入的模組。這是因為並非所有應用程式系統都使用 OTP 開機指令碼來設定所有 Erlang 模組的路徑。Runtime_tools/Inviso:已修復擷取記錄功能中的錯誤。此外,已在此修補程式中(再次)修復先前修補程式中(據說)修復的與元追蹤器 write_ti 相關的錯誤。已修復 inviso_as_lib 中的錯誤,該錯誤導致遠端自動啟動組態檔更新失敗。Inviso:已為 inviso_tool 提供刷新 API。

    自有 ID: OTP-6918

Runtime_Tools 1.6.7

改進與新功能

  • 已完成下列錯誤/改進:inviso_rt 和 inviso_rt_meta 之間的內部交互運作。inviso_rt 用於呼叫 inviso_rt_meta 的呼叫函式現在受到監視器的保護。inviso_rt_meta 現在在呼叫呼叫回呼時包含傳入元追蹤訊息的時間戳。(可以將「更好」的時間戳新增至 ti 檔案。)inviso_tool 中的錯誤導致終止時無法移除追蹤模式。內部函式 h_start_session 中的錯誤導致如果沒有活動節點來啟動會話,inviso_tool 會崩潰。使用者-inviso_tool 和 inviso API-inviso 控制元件請求/回應 gen_server 通訊協定具有預設逾時。由於許多追蹤操作可能很耗時,因此需要更長的逾時。已改善過載保護。現在可以讓過載保護自行更新(例如,在從外部過載保護器退出後)。inviso_rt_meta 現在完全使用 exception_trace match spec action term。在 inviso_tool 中執行追蹤案例 API(與啟用和停用追蹤案例 API 相反)。已將刷新追蹤埠 API 新增至 inviso。已將 Get_session_data API 新增至 inviso_tool。已改善 inviso_tool:stop,使其可以命名在 inviso_tool 終止時不應移除其追蹤模式的節點。如果在 inviso_rt_meta 中從呼叫/從呼叫傳回回呼傳回,則處理寫入多個 ti 條目的錯誤。當 inviso_tool 終止時,處理程序追蹤旗標不再被明確移除。沒有必要。inviso_tool get_autostart_data 採用標準自動啟動器。

    * 與元追蹤回呼的不相容性現在使用不同的引數呼叫。*

    自有 ID: OTP-6881

Runtime_Tools 1.6.6

已修復的錯誤和故障

  • inviso_rt_meta 中的錯誤導致在暫停追蹤時遺失包含有關已啟動 (init_tpm) 函式的資訊的 ETS 表格。此外,inviso_rt 中已引入增強功能,使其可以根據全域註冊的名稱啟用處理程序追蹤旗標。然後,在名稱不存在的節點上啟用全域名稱不會發生錯誤。傳回值中的處理程序計數將簡單地設定為零(因此,傳回值的 NodeResult 部分中恰好一個節點將指示找到一個匹配的處理程序)。在 fetch_log API 中發現錯誤。同時,還增強了 fetch_log 功能以提供流程控制,使擷取器處理程序以較慢的速度傳送傳輸的檔案資料區塊。

    自有 ID: OTP-6703

改進與新功能

  • 次要 Makefile 變更。

    自有 ID: OTP-6689 輔助 ID: OTP-6742

  • 已新增一個名為 erts_alloc_config 的實驗性工具。erts_alloc_config 旨在用於協助建立適合有限數量執行階段情境的 erts_alloc 組態。如需詳細資訊,請參閱 m:erts_alloc_config 文件。

    自有 ID: OTP-6700

Runtime_Tools 1.6.5

改進與新功能

  • 雜項改進。

    自有 ID: OTP-6576

Runtime_Tools 1.6.4

改進與新功能

  • 此應用程式已更新以消除 Dialyzer 的警告。

    自有 ID: OTP-6551

Runtime_Tools 1.6.3

已修正的錯誤與故障

  • 此票券包含對 runtime_tools 和 inviso 的多項改進和錯誤修正。過載機制現在也可以對傳入的訊息做出反應。如果使用外部過載監視器,這會很有用。預設自動啟動機制 - inviso_autostart_server 的變數綁定已進行一些改進。自動啟動「工作」現在可以並行完成,允許某些工作在繼續之前掛起等待追蹤系統的某些部分準備就緒。先前使用具名元匹配規格 (tpm_ms) 時,如果最後結果為零個匹配規格,仍會保持元追蹤模式啟用。這會導致零個匹配規格等於對該特定函數進行無限的元追蹤。如果內部資料庫中沒有元匹配規格,則會移除該函數的元追蹤模式。inviso 執行時元追蹤器程序中的標準公共迴圈資料現在已擴展為 2 元組。新增了函數 ctp/1 和 ctpl/1,可以移除一組函數的追蹤模式,而不是一次移除一個。除了單個二進制檔外,Inviso_rt_meta 現在將接受要輸出到追蹤資訊檔案中的二進制檔列表。此外,還可以使用 write_ti/1 函數將自己的輸出寫入追蹤資訊檔案中。在 inviso_rt 中發現一個錯誤,如果 inviso_rt 因「單獨執行」(不允許在沒有控制元件的情況下執行)而終止,則會導致 inviso_rt_meta 保持執行狀態而不是終止。已在 inviso 應用程式中新增一個新工具 inviso_tool。

    自有 ID:OTP-6426

Runtime_Tools 1.6.2

已修正的錯誤與故障

  • 已在 runtime_tools 和 observer 應用程式中消除幾個小錯誤和競爭條件。

    自有 ID:OTP-6265

Runtime_Tools 1.6.1

改進和新功能

  • 有新的 BIF erlang:spawn_monitor/1,3,以及 spawn_opt/2,3,4,5 的新選項 monitor

    已更新 observer_backend 模組以處理新的 BIF。

    自有 ID:OTP-6281

Runtime_Tools 1.6

新增 Inviso 追蹤器的執行階段部分,有關更多資訊,請參閱新的 Inviso 應用程式。這也意味著為 Runtime_Tools 新增一個應用程式回呼模組和應用程式監管器樹狀結構。

Runtime_Tools 1.5.1.1

改進和新功能

  • 已更新 dbg 手冊頁面,其中包含有關如何在追蹤時避免死鎖的資訊。

    自有 ID:OTP-5373 輔助 ID:seq9729

Runtime_Tools 1.5.1

已修正的錯誤與故障

  • 現在,當模擬器啟用執行緒支援時,Crypto 和 Asn1 應用程式中連結的驅動程式會使用 Unix 上的 -D_THREAD_SAFE-D_REENTRANT 開關進行編譯。

    MacOSX 上連結的驅動程式不再使用未公開的 -lbundle1.o 開關進行編譯。感謝 Sean Hinde 發送給我們修補程式。

    現在,Crypto 中連結的驅動程式和 SSL 中的埠程式可以在 OSF1 上編譯。

    Runtime_Tools 中的次要 Makefile 改進。

    自有 ID:OTP-5346