-debug(C# 編譯器選項)
-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
時,如果程式碼包含設定為false
的DebuggableAttribute
,則將出現錯誤。
有關如何配置應用程式的除錯效能的詳細資訊,請參閱令映像更易於除錯。
若要更改 .pdb
檔案的位置,請參閱 -pdb
(C# 編譯器選項)。
在 Visual Studio
開發環境中設定此編譯器選項
- 開啟專案的“屬性”頁。
- 單擊“生成”屬性頁。
- 單擊“高階”按鈕。
- 修改“除錯資訊”屬性。
有關如何以程式設計方式設定此編譯器選項的資訊,請參閱 DebugSymbols
。
示例
將除錯資訊放在輸出檔案 app.pdb
:
csc -debug -pdb:app.pdb test.cs
相關文章
- C# 編譯器選項(Visual Studio配置)C#編譯
- PHP編譯選項PHP編譯
- GCC編譯選項GC編譯
- GCC 編譯選項GC編譯
- vc 編譯連線選項編譯
- cmake中新增 -g編譯選項編譯
- 配置C#命令列編譯器C#命令列編譯
- typescript 3.2 新編譯選項strictBindCallApplyTypeScript編譯APP
- FFmpeg音視訊編譯配置選項編譯
- 微軟開源 C# 編譯器 Roslyn微軟C#編譯ROS
- 核心編譯選單中相關選項的意義(轉)編譯
- gcc 編譯器與 clang 編譯器GC編譯
- 探索c#之尾遞迴編譯器優化C#遞迴編譯優化
- [cmake]如何設定Debug和Release編譯模式編譯模式
- linux下debug與release編譯的方法Linux編譯
- 淺談彙編器、編譯器和直譯器編譯
- MySQL編譯選項-fno-strict-aliasing隨手記MySql編譯
- [譯]iOS編譯器iOS編譯
- 禁用 C# 編譯器對某段程式碼的警告C#編譯
- gcc常用的編譯選項對程式碼的影響(轉)GC編譯
- 編譯器的編譯基本過程編譯
- 一張圖解析 編譯器編譯流程圖解編譯
- CUDAFORTRAN編譯器編譯
- vue編譯器Vue編譯
- c#入門-編譯的概念C#編譯
- C# 反編譯問題收集C#編譯
- 程式碼線上編譯器(上)- 編輯及編譯編譯
- GCC的-g選項應該在編譯階段起作用(轉)GC編譯
- Go編譯器簡介【譯】Go編譯
- c# listview 刪除選中子項C#View
- 編譯器如何生成彙編編譯
- FreeBSD中的GNU C編譯器--編譯器GCC(轉)編譯GC
- kafka文件: 配置選項翻譯Kafka
- ildasm、ilasm修改、反編譯 已經編譯的 dll檔案(c#)LDAASM編譯C#
- 編譯器的自展和自舉、交叉編譯編譯
- CSS預編譯器CSS編譯
- 富文字編譯器編譯
- JavaScript編譯器BabelJavaScript編譯Babel