Serverless如何實現在線遠程調試
Serverless如何實現在線遠程調試,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
成都創新互聯公司專業為企業提供忻州網站建設、忻州做網站、忻州網站設計、忻州網站制作等企業網站建設、網頁設計與制作、忻州企業網站模板建站服務,10多年忻州做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
在線調試是云函數為了解決用戶在本地搭建調試環境復雜,云上環境不便于定位等問題推出的功能。
云上的各種服務,在本地無法完全模擬,程序員大都遇到過本地和遠程環境運行結果不一致的情形,追查起來費時費力,不僅效率低下,也造成非常郁悶的工作體驗。所以,能否直接在遠程環境中完成全部的開發流程,是提升開發體驗的最直接手段,然而在其他問題都解決后,遠程調試功能是最后的一公里。
下面將以一段內存泄漏的代碼為例,給大家展示如何使用云函數在線調試功能定位和解決問題。Node10 及以上版本的 runtime,使用 Chrome 瀏覽器打開云函數控制臺,在函數代碼頁即可看到在線調試的入口。
開啟調試模式
使用Chrome瀏覽器打開函數代碼編輯頁,可以看到在【遠程調試】頁。為保障調試的體驗,開啟調試模式將修改函數的部分配置,包括函數進入單實例模式、函數超時時間修改為900秒等。開啟前請務必確認這些調整。
待加載完成后,頁面將自動展示入口文件。
找不到需要的文件?
使用快捷鍵 Cmd + P(Mac)或 Ctrl + P(Windows)可以打開所需要的文件。但大家可能會發現,剛開啟調試模式時,打開文件的列表中找不到所需要的文件。 這是因為對于動態腳本語言來說,調試器不會加載所有的內容,只會加載執行過的文件。我們先點擊測試,讓函數運行一次。在運行一次后,我們就可以打開所需要的文件了。
設置斷點
在代碼前點擊即可設置斷點,在右上角的工具中可以進行繼續執行、跨步執行、單步執行等操作,也可以靈活地啟動或禁用斷點。
內存泄漏排查 - 內存快照
這部分介紹如何使用內存快照功能排查內存泄漏的問題。內存泄漏的排查方法大致為:找準內存泄漏的時機,在泄漏的前后對內存進行快照,通過對比快照的內容判斷內存泄漏的問題點。
首先,我們將調試的窗口切換到 Memory 頁面,點擊左上方的實心圓形按鈕捕捉內存快照。
這樣,我們就有了運行前的內存快照?,F在我們執行存在內存泄漏的代碼。這行代碼有一個從未清理的全局緩存,隨著調用的增加,越來越占內存。
隨后,我們進行第二次內存快照,打開對比頁面,通過對Delta值的分析,可以發現 concatenated string 這個部分增加了很多,很有可能有問題。
打開以后,便可以發現內存中多存儲了很多“recording time”的數據。
這些重復性的數據也就意味著代碼中出現了內存泄漏,在代碼中找到相關內容,進行調整,解決內存泄漏的問題。
除了云函數的控制臺,也可以使用 Serverless Framework Dev 模式開啟在線調試的功能。
關于Serverless如何實現在線遠程調試問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯行業資訊頻道了解更多相關知識。
當前標題:Serverless如何實現在線遠程調試
當前地址:http://www.xueling.net.cn/article/goiged.html