-debug(C# 編譯器選項)

風靈使發表於2019-02-16

-debug 選項將使編譯器生成除錯資訊,並將此資訊放置在輸出檔案或檔案中。

語法

-debug[+ | -]  
-debug:{full | pdbonly}  

自變數

+ | -

指定 + 或僅 -debug 將導致編譯器生成除錯資訊並將此資訊放在程式資料庫(.pdb 檔案)中。 指定 -(在不指定 -debug 時生效)將導致不建立任何除錯資訊。

full | pdbonly

指定編譯器生成的除錯資訊的型別。 完整引數(在不指定 -debug:pdbonly 時生效)允許將偵錯程式附加到正在執行的程式。 指定 pdbonly 允許在偵錯程式中啟動程式時進行原始碼除錯,但僅在正在執行的程式附加到偵錯程式時才顯示彙編程式。

備註

使用此選項建立除錯版本。 如果未指定 -debug-debug+-debug:full,則無法除錯程式的輸出檔案。
如果使用 -debug:full,請注意,對經過優化的 JIT 程式碼的速度和大小會存在一定影響,且對包含 -debug:full 的程式碼質量也有一定影響。 建議使用 -debug:pdbonly 或不使用 PDB 生成釋出程式碼。

備註

-debug:pdbonly-debug:full 之間的一個區別在於,使用 -debug:full,編譯器將發出 DebuggableAttribute,用於告知 JIT 編譯器有可用除錯資訊。 因此,在使用 -debug:full 時,如果程式碼包含設定為 falseDebuggableAttribute,則將出現錯誤。

有關如何配置應用程式的除錯效能的詳細資訊,請參閱令映像更易於除錯。
若要更改 .pdb 檔案的位置,請參閱 -pdb(C# 編譯器選項)。

Visual Studio 開發環境中設定此編譯器選項

  1. 開啟專案的“屬性”頁。
  2. 單擊“生成”屬性頁。
  3. 單擊“高階”按鈕。
  4. 修改“除錯資訊”屬性。

有關如何以程式設計方式設定此編譯器選項的資訊,請參閱 DebugSymbols

示例

將除錯資訊放在輸出檔案 app.pdb

csc -debug -pdb:app.pdb test.cs  

相關文章