vue中生产模式和调试模式_为什么在生产中进行调试是如此诱人?
vue中生產模式和調試模式
生產調試
為什么在生產中進行調試是如此誘人?
在我的第一份工作中,我要做的任務之一是修復一個錯誤,該錯誤過去在非常復雜的生產系統中有時會發生。 那很簡單! - 我想。 我將在開發環境中重現同樣的情況,找到虛線,實施快速修復,然后完成! 但是,事實證明,無法復制與生產中完全相同的場景-因此一段時間后,我放棄了這個想法。 我被迫花費數天時間分析日志并試圖關聯許多不同的事件,以弄清可能發生的事情。 很快,我意識到這就像在大海撈針中一樣乏味。 經過幾天沒有結果的結果,我得出的結論是,我需要在這里和那里添加更多的日志記錄,然后等待幾天甚至幾個月,以查看該錯誤是否再次發生。 然后,我認為,與開發應用程序時使用的復雜工具相比,在生產中尋找錯誤某種程度上是粗糙的。 您正在實施一項新功能,并且看到服務返回的結果不是您所期望的? 您只需放置幾個斷點,然后單擊“調試”按鈕即可! 片刻之后,您確切地知道發生了什么。 在生產環境中做同樣的事情很棒嗎?
為什么在生產中進行調試是如此困難?
等一會兒! –您可能已經想到了。 但是我們不是在大多數現代IDE中都具有遠程調試功能嗎? 我們不能像在本地環境中那樣僅連接到正在運行的生產應用程序并對其進行調試嗎? 盡管有可能,但另一個問題出現了:我們的大多數業務應用程序每秒處理許多請求。 當對應用程序進行遠程調試時,沒有簡單的方法可以控制在任何地方觸發的斷點。 您可以想象,當我們決定調試它時,我們不想阻止所有用戶使用我們的應用程序。 很多時候,我們也不能僅僅強迫我們的應用程序重現昨天發生的錯誤-有時唯一的方法就是等待直到它再次出現在我們的一個用戶身上。 因此,在生產環境中保持遠程調試會話而無須嚴格控制斷點的觸發方式,就像在森林中放置地雷并邀請我們的用戶穿越地雷一樣。
最重要的是–一種更安全的方式
FusionReactor是一個應用程序性能監視器,具有許多高級功能,您通常不會在監視解決方案中找到這些功能。 生產調試器是其中之一,該調試器旨在允許您從生產運行時環境中獲取底層調試信息。
使用某些傳統的調試器時,您將面臨的主要問題之一是,一旦設置了斷點,它將對跨越代碼點的任何線程觸發。 FusionReactor通過采用一系列控制斷點觸發方式的技術來克服這一問題。 例如,它可以限制給定斷點將觸發的次數(線程),從而解決了影響太多用戶的問題。 需要更多控制方式嗎? 您甚至可以配置一個斷點,以從特定的IP地址(會話)向用戶觸發,或者在特定變量與值匹配或發生特定異常時觸發。 但是,如果在我們團隊中沒人在看的夜晚觸發斷點怎么辦? FusionReactor允許您定義線程暫停超時,因此,如果您在特定時間內不截取暫停的線程,則調試器將釋放鎖定并允許線程繼續執行。 當與線程限制一起使用時,這可以將可能的影響減少到僅一個線程,并且僅持續n秒。
另一個好處是,FusionReactor可以在觸發觸發器時發送帶有堆棧跟蹤和變量的電子郵件。 這為您提供了一種非常靈活,簡便的方式來獲取大量信息的通知,從而使調試比以往更加容易。
生產中的調試不必太麻煩。 FusionReactor帶有完全集成的IDE樣式的調試器,該調試器可直接在您的瀏覽器中運行-無需安裝其他胖客戶端即可啟動遠程調試。 一切都是內置的,隨時可以使用。
翻譯自: https://www.javacodegeeks.com/2018/05/why-debugging-in-production-is-so-tempting.html
vue中生產模式和調試模式
總結
以上是生活随笔為你收集整理的vue中生产模式和调试模式_为什么在生产中进行调试是如此诱人?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 商业门户网站怎么运营(商业门户网站怎么运
- 下一篇: (flow防ddos)