1. 程式人生 > 實用技巧 >在windows上除錯 | Debugging on Windows (Guides: Development) – Electron 中文開發手冊 - Break易站

在windows上除錯 | Debugging on Windows (Guides: Development) – Electron 中文開發手冊 - Break易站

[

在windows上除錯 | Debugging on Windows (Guides: Development) - Electron 中文開發手冊
如果您認為Electron中的崩潰或問題不是由您的JavaScript應用程式引起的,而是由Electron本身引起的,那麼除錯可能有點棘手,特別是對於不習慣於本機/ C ++除錯的開發人員。但是,使用Visual Studio,GitHub託管的Electron Symbol Server和Electron原始碼,使用Electron原始碼中的斷點啟用逐步除錯相當容易。

要求

Electron的除錯版本:最簡單的方法通常是使用Windows版本說明中列出的工具和先決條件自己構建它。雖然您可以輕鬆地連線並除錯Electron,但您可以直接下載它,但會發現它經過大量優化,使除錯更加困難:偵錯程式將無法向您顯示所有變數的內容,並且執行路徑可以由於內聯,尾部呼叫和其他編譯器優化而看起來很奇怪。Visual Studio與C ++工具:Visual Studio 2013和Visual Studio 2015的免費社群版本都可以使用。安裝完成後,將Visual Studio配置為使用GitHub的Electron Symbol伺服器。它將使Visual Studio更好地理解Electron內部發生的事情,從而更容易以可讀的格式顯示變數。ProcMon:免費的SysInternals 工具允許您檢查程序引數,檔案控制代碼和登錄檔操作。

附加和除錯Electron

要啟動一個除錯會話,開啟PowerShell / CMD並執行您的Electron除錯版本,使用應用程式作為引數開啟。

$ ./out/D/electron.exe ~/my-electron-app/

設定斷點

然後,開啟Visual Studio。Electron不是用Visual Studio構建的,因此不包含專案檔案 - 但是,您可以開啟原始碼檔案“As File”,這意味著Visual Studio將自行開啟它們。您仍然可以設定斷點 - Visual Studio會自動發現原始碼與附加程序中執行的程式碼相匹配並相應地中斷。相關的程式碼檔案可以在./atom/以及在./brightray/browser和找到的Brightray中找到./brightray/common。如果你是hardcore,你也可以直接除錯Chromium,這顯然是在chromium_src。

附加

您可以將Visual Studio偵錯程式附加到本地或遠端計算機上正在執行的程序。程序執行後,單擊除錯/附加到程序(或按CTRL+ALT+P)以開啟“附加到程序”對話方塊。您可以使用此功能除錯在本地或遠端計算機上執行的應用程式,同時除錯多個程序。如果Electron正在其他使用者帳戶下執行,請選中該Show processes from all users複選框。請注意,根據您的應用開啟多少個BrowserWindows,您將看到多個程序。一個典型的單視窗應用程式將導致Visual Studio為您呈現兩個Electron.exe條目 - 一個用於主流程,一個用於渲染器流程。由於名單隻給你名字,目前沒有可靠的方法來確定哪個是哪個名字。

我應該附加哪個過程?

在主程序中執行的程式碼(即在主JavaScript檔案中找到或最終執行的程式碼)以及使用remote(require('electron').remote)呼叫的程式碼將在主程序內執行,而其他程式碼將在其各自的渲染程序內執行。您可以在除錯時附加到多個程式,但在任何時候只有一個程式在偵錯程式中處於活動狀態。你可以在Debug Location工具欄或者設定活動程式Processes window。

使用ProcMon觀察過程

雖然Visual Studio對於檢查特定程式碼路徑非常棒,但ProcMon的實力確實在於觀察應用程式在作業系統上所做的一切 - 它捕獲檔案,登錄檔,網路,程序和分析程序的詳細資訊。它試圖記錄所有發生的事件,並且可能相當令人難以置信,但如果試圖瞭解應用程式在作業系統中的作用和方式,它可能是一種寶貴的資源。

]
  •   本文標題:在windows上除錯 | Debugging on Windows (Guides: Development) – Electron 中文開發手冊 - Break易站轉載請保留頁面地址:https://www.breakyizhan.com/javascript/25846.html