-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#編譯
- vc 編譯連線選項編譯
- typescript 3.2 新編譯選項strictBindCallApplyTypeScript編譯APP
- cmake中新增 -g編譯選項編譯
- c#程式反編譯C#編譯
- [cmake]如何設定Debug和Release編譯模式編譯模式
- 淺談彙編器、編譯器和直譯器編譯
- c#入門-編譯的概念C#編譯
- vue編譯器Vue編譯
- CUDAFORTRAN編譯器編譯
- C#版Nebula客戶端編譯C#客戶端編譯
- Swoole v4.5.7 版本釋出,新增--enable-swoole-json編譯選項JSON編譯
- vc++6.0與新版編譯器多了哪些注意事項(1)C++編譯
- Go編譯器簡介【譯】Go編譯
- 程式碼線上編譯器(上)- 編輯及編譯編譯
- 編譯器的自展和自舉、交叉編譯編譯
- 效能最佳化:編譯器最佳化選項 -O2/-O3 究竟有多強大?編譯
- CSS預編譯器CSS編譯
- gcc或g++的編譯選項 -shared -fPIC 與 -g -rdynamic 部分轉載GC編譯
- JS 預編譯程式碼例項分析JS編譯
- C# 好程式碼學習筆記(1):檔案操作、讀取檔案、Debug/Trace 類、Conditional條件編譯、CLSC#筆記編譯
- Maven根據pom檔案中的Profile標籤動態配置編譯選項Maven編譯
- 源語言、目標語言、翻譯器、編譯器、直譯器編譯
- 說說 方舟編譯器編譯
- stylus(css預編譯器)CSS編譯
- ARM 之主流編譯器編譯
- Rust 編譯器入門Rust編譯
- C#反編譯工具:.NET Reflector基礎使用C#編譯
- C# ClosedXML 匯出 Excel 新增下拉選項 CellDropdownC#XMLExcel
- C# Debug和release判斷用法C#
- C# 測試程式碼#if DEBUG使用C#
- 自己動手,在macOS High Sierra中編譯一個可debug的JDKMac編譯JDK
- Debug和幾個小例項
- Vue3原始碼分析——編譯模組和編譯器Vue原始碼編譯
- 【國外精選課程】編譯原理入門之編譯階段概述編譯原理
- c#寫的軟體如何防止被反編譯C#編譯
- NEO Python編譯器介紹Python編譯
- Lombok編譯器Maven外掛Lombok編譯Maven