1

我已經設法在Visual Studio中設置Google Chrome(開發通道)的下載符號。這對於理解反彙編很有幫助,但是當我進入一個函數時,我想要看到源代碼C++。 (它打開一個對話框,讓我找到源文件,我當然沒有。)Visual Studio:用源代碼調試Chrome?

是否有一個服務器,我可以讓Visual Studio自動找到匹配版本的C++源文件?

回答

2

this文章,你可以配置VS或WinDbg中從http://msdl.microsoft.com/download/symbolshttps://chromium-browser-symsrv.commondatastorage.googleapis.com下載符號

的其它解決方法是編譯在你身邊整個源...(不過你已經知道了:) )

+0

是的,但是當我做到這一點,僅下載'PDB'文件 - 它仍然要求提供C++源文件來顯示我的源代碼。 (不,我不想重新編譯整個東西,哈哈。) – Mehrdad

+0

你能檢查它是否正確加載模塊?調試> WIndows>模塊。您可以嘗試的另一件事是,如果它要求源cpp文件,請瀏覽並在源代碼文件夾中手動指向它(假設您已將源代碼下載到您的一個文件夾中)。 – Mrchief

+0

我會試着看看模塊的事情。然而,「假設你已經將源代碼下載到了你的一個文件夾中 - 」重要的是避免這種情況,因爲我不知道如何爲我的代碼找到*正確版本的源代碼建立。不能VS自動找到源文件並按需要下載它? – Mehrdad

4

使用符號服務器(如http://www.chromium.org/developers/how-tos/debugging中所述)足以讓您獲得PDB,但本身不會獲得源代碼。要獲得源代碼,需要啓用源索引。

構建期間的源索引通過向PDB文件添加額外數據(因此獲取PDB文件是正確的第一步)起作用,它告訴調試器如何從版本控制中檢索源文件。但是,windbg和Visual Studio都默認關閉此功能。也就是說,默認情況下windbg和Visual Studio會忽略Chrome添加的源索引信息。

在Visual Studio(自2002年以來的所有版本)中,您可以通過轉至工具 - >選項 - >調試 - >常規 - >啓用源服務器支持來啓用它。如果最初不起作用,您可能還想檢查「將源服務器診斷消息打印到輸出窗口」。

在windbg中,您可以在命令窗口中鍵入「.srcfix」,或者轉至文件 - >源文件路徑並在源路徑對話框中鍵入SRV *。如果您需要診斷,請在命令窗口中鍵入「!sym noisy」。

請注意,截至2014年12月,建議您使用https而不是http來檢索Chrome符號,以提高安全性,因此請使用https://chromium-browser-symsrv.commondatastorage.googleapis.com作爲符號服務器地址。

有關源索引更多詳情,請參見這篇博客文章,我寫道:

https://randomascii.wordpress.com/2011/11/11/source-indexing-is-underused-awesomeness/

+0

博客文章是一個有趣的閱讀! +1 – Mrchief

相關問題