簡體   English   中英

如何在MongooseIM的rebar.config中添加調試器應用程序?

[英]How to add debugger app in the rebar.config in MongooseIM?

我在MongooseIM上使用MAC OS 10.14。 我想在MongooseIM中使用調試器。 當我執行im()時。 在MongooseIm Shell中,出現以下錯誤:

在應用程序調試器中調用i:im / 0失敗。

我可以驗證是否可以運行im()。 在erlang shell $ erl中 看來我必須在MongooseIM中啟用調試器,但我不知道該怎么做。 我在Erlang / Ejabberd / MongooseIM文檔中找不到它。 我還閱讀了以下與此相關的內容:

在mongooseim https://github.com/esl/MongooseIM/issues/1788中 ,應用程序調試器中對i:im()的調用失敗

根據第二個URL,我需要在MongooseIM的rebar.config中添加調試器應用程序,但我不知道如何,請提供幫助。

i:im()是基於wxWidgets圖形用戶界面庫的逐步調試器 (如gdblldbpdb ,它允許設置斷點,運行程序,暫停執行等)。 MongooseIM是一台服務器-它不捆綁wxWidgets,因為它根本沒有圖形界面。

由於Erlang VM的特性,其中許多並發活動會並發進行,因此逐步調試器並不是完成此工作的最佳工具。 例如,在通過gen_server:call()的進程中設置斷點會使調用超時,從而導致一連串的錯誤,可能與所調試的問題無關。

但是,Erlang VM具有一個更適合其並發性的內置調試工具- 跟蹤調試器 跟蹤不允許斷點或暫停執行。 相反,它記錄(在所有子集中)系統中發生的確切事件,並打印/保存它們以供事后檢查。

此視頻及成績單提供對Erlang的虛擬機跟蹤(在葯劑語法)的簡要介紹 ,而墊Cronqvist,Erlang的元老之一,在他的二郎用戶2014年會議的談話主題闡述服用的printf出來的printf調試

話雖如此,MongooseIM附帶了兩個跟蹤機制接口:

  • dbg-標准的OTP接口- 該SO帖子展示了其基礎知識 -在生產中進行跟蹤時要小心,因為dbg不提供任何安全機制,因此有可能使生產系統過載,

  • 偵查 -一種生產跟蹤庫,更加人性化和安全的方式,並提供出色的文檔。 考慮到易用性和功能集時,這可能是您的最佳選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM