6
Q
默認進程標誌
A
回答
1
這樣做的一種方法是將Erlang跟蹤功能與.erlang文件結合使用。
具體來說,您可以使用erlang:trace/3提供的低級跟蹤功能,也可以利用dbg:tracer/2函數創建新的跟蹤過程,每次收到跟蹤消息時都會執行自定義處理函數。
要自動化一些事情,您可以在運行代碼的目錄或主目錄中創建一個Erlang啓動文件。 Erlang啓動文件是一個特殊的文件,名爲.erlang,每次啓動運行系統時都會執行該文件。
類似下面應該做的工作:
% -*- Erlang -*-
erlang:display("This is automatically executed.").
dbg:tracer(process, {fun ({trace, Pid, spawn, Pid2, {M, F, Args}}, Data) ->
process_flag(Pid2, save_calls, Data),
Data;
(_Trace, Data) ->
Data
end, 100}).
dbg:p(new, [procs, sos]).
基本上,我創建一個新的跟蹤過程,這將跟蹤過程(第一個參數)。我指定了一個處理函數來執行和一些初始數據。在處理函數中,我爲新生成的進程設置了save_calls
標誌,而我忽略了所有其他跟蹤消息。我將save_calls
'選項設置爲100
,使用初始數據參數。在最後的調用中,我告訴dbg我只對新創建的進程感興趣。我還設置了sos
(set_on_spawn
)選項以確保跟蹤標誌的繼承。
最後,注意你如何需要使用process_flag
功能,這需要一個額外的參數(你想設置的標誌的過程中Pid
)的變體。
相關問題
- 1. Golang標誌包有默認標誌嗎?
- 2. 隱藏標誌默認值
- 3. WordPress的默認標誌
- 4. Typo3默認語言標籤和標誌
- 5. 鐺 - 使用默認標誌編譯
- 6. GCC /鐺默認的錯誤標誌
- 7. Mongoose.js:屬性默認值isModified標誌
- 8. mySQL中的默認信用卡標誌
- 9. Pymongo默認日誌
- 10. Django設置默認日誌
- 11. 更改默認的二進制標記
- 12. 進口android.R默認
- 13. 默認android.support.v7.app.ActionBar默認標題TextSize
- 14. MySQL - 默認保存二進制日誌到表
- 15. php默認標題
- 16. file_get_contents默認標題
- 17. Android BroadcastReceiver:在默認進程或新的進程中運行它?
- 18. 如何獲得從默認進程凍結進程ID
- 19. 存儲過程默認參數標識
- 20. Windows應用程序的默認圖標?
- 21. 如何更改默認程序圖標?
- 22. 86在程序執行期間方向標誌(DF)的默認狀態
- 23. 是控制-d stdin的默認停止標誌?在linux中C?
- 24. Python的Argparse「無線電」標誌與默認?
- 25. CMake:取決於構建類型的默認標誌
- 26. 驚天動地:有條件地覆蓋標誌默認值
- 27. 如何在gflags中設置標誌文件的默認值?
- 28. 如何隱藏plone 4.3網站的默認標誌
- 29. 在移動打印機上打印默認標誌zonerich AB-320M
- 30. 如何設置 - 默認在git中設置標誌?