重要提示:請不要在Google Chrome的DevTools調試器中給出與設置Javascript斷點相關的答案。我正試圖在Chromium開源瀏覽器的C++源代碼中使用斷點,而不是在DevTools調試器中。無法在XmlHttpRequest模塊上運行斷點(Javascript引擎/ XHR請求)
我試圖讓斷點以下模塊中的工作,所以我可以通過JavaScript代碼由鉻託管的網頁運行不陷阱XHR請求提出:
C:\用戶\ realsensible \文檔\鉻\ src \ third_party \ WebKit \ Source \ core \ xmlhttprequest
我在該模塊中幾乎所有顯着的方法上都設置了斷點,但它們從未被擊中。 PhistucK指出,Chrome啓動了多個進程,並且很可能執行JavaScript引擎的進程與VS啓動的主進程不同,從而破壞了斷點。
要嘗試和測試這個,我在VS之外啓動了Chrome.exe。然後,我嘗試附加到VS附加到進程列表框中看到的每個「鉻」進程(我通過在任務管理器中列出「鉻」進程來雙重檢查此進程列表)。有5個進程名爲「chrome」; 「主」鉻進程和它啓動的四個子進程。對於每個進程I:
1)附加到來自VS的一個chrome進程,我的斷點在幾乎所有重要的XmlHttpRequest方法上都處於活動狀態。 2)(重新)加載了一個網頁,我知道從Javascript中提出了許多XHR請求。 3)從過程分離
在所有5個試驗沒有的斷點曾被擊中。
注意,我在項目中的其他模塊上設置了與JavaScript引擎無關的斷點,並且他們做了的工作。顯然這只是與Javascript相關的代碼,我無法獲得觸發的斷點。
有誰知道如何獲得斷點在Chromium中的JavaScript引擎工作?
你是什麼意思的「斷點」?當鉻的一個實例運行時,你是否編輯鉻源文件? _「要嘗試和測試這個,我啓動了Chrome.exe」_是否與鉻或鉻相關的問題?如果您啓動「Chrome.exe」,爲什麼問題標籤爲「鉻」?你想達到什麼目的? – guest271314
注意Chrome和Chromium是兩種不同的瀏覽器[Google Chrome瀏覽器和Chromium瀏覽器有什麼區別?](https://fossbytes.com/difference-google-chrome-vs-chromium-browser/) – guest271314
@ guest271314 - 我是使用在此位置發現的Chromium開源瀏覽器的源代碼: https://www.chromium。org/developers/how-tos/get-the-code 我在源代碼中設置了斷點,但我沒有更改源代碼。 Chromium單片解決方案中瀏覽器項目的默認可執行文件名是chrome.exe。 –