2009-12-08 127 views

回答

10

是的。在連接到遠程站點時,需要確保PDB(帶有行信息的調試信息)存在並加載到調試器中,因爲如果沒有它,調試器無法將源行與字節碼偏移相關聯,這是設置斷點所需的。

+3

你說得對,它應該可以工作,但PDB不需要在遠程機器上。遠程調試監視器不需要訪問PDB。 PDB需要放在Visual Studio運行的機器上 - 它是Visual Studio,它使用PDB從源代碼行映射到地址,並將這些地址傳遞給遠程調試監視器。 – RichieHindle 2009-12-08 23:22:36

+2

遠程構建必須是DEBUG構建還是可以構建爲RELEASE? – 2009-12-08 23:30:36

+0

沒錯,那就是我想說的,但是輸入錯了。固定。我不明白爲什麼我會低調,因爲基本信息仍然正確。 – Lucero 2009-12-08 23:31:05

3

快速回答是,但是有很多不同的事情可能會阻止斷點被觸發。很久以前,我貼這個清單作爲一個回答另一個問題,它可以幫助你現在:

Why does my C# debugger skip breakpoints?

特別檢查,看是否爲斷點的圖形是固體(表示斷點應,如果被擊中你到達它),或者如果斷點只是一個空的圓圈,旁邊有一個小驚歎號 - 如果你得到感嘆號,然後檢查你懸停在它上面的工具提示,它可能會告訴你問題是什麼。

最後,它完全有可能調試發佈版本,但是你需要確保當你建立你生產的符號 - 這些可以是在一個外部文件(.PDB),或有時它們可​​以嵌入到(雖然我自己從來沒有這樣做過)

-1

是的,你可以。使用F9創建中斷點。要留意以下,而遠程調試的..

有兩個原因:遠程調試器不命中斷點

  1. 錯誤的符號。

  2. 在調試時使用錯誤的.Net框架(您可以在visual studio中的「attach to process」窗口中進行選擇)。

相關問題