vs加調試代碼的正確姿勢


為了方便,我們會在系統中加入一些調試代碼,比如自動登錄,這樣會省掉很多精力時間,但用的姿勢不對,

第一重姿勢:打包注釋

我看一些人在vs中加調試代碼(比如自動登錄),然后打包的時候注釋掉,這樣操作是省時了。但要時刻記得去掉代碼,否則可能會出大事。

            //注釋代碼,正式發布時去掉
            string UserName = "administrator";
            string Password = "123";
            AutoLogin(UserName, Password);

第二重姿勢:用#if預處理器指令

當C# 編譯器遇到 #if 指令,最終是 #endif 指令,則僅當定義指定的符號時,它才編譯這些指令之間的代碼。所以可以用debug符號來區分當前編譯系統是發布還是調試

#if DEBUG

            string UserName = "administrator";
            string Password = "123";
            AutoLogin(UserName, Password);
#endif

 

第三重姿勢:自定義#if預處理器指令符號

以上面的預處理指定,可以滿足加入調試代碼,且不影響正式發布的系統版本。但有人可能生成正式安裝包也是debug模式。這樣的做法我們暫時不評價。遇到這樣的情況的時候,我們就不能用第二重姿勢了。這時候我們可以自定義指定符號。

1、首先我們點擊解決方案配置,在下拉框中選擇“配置管理器

 

 2、在彈出的配置管理器窗口的活動解決方案配置下選擇新建

 

 3、在彈出的新建解決方案配置窗口的名稱中輸入你的名稱,我們要復制debug的配置,所以從此處復制配置我們選擇debug,創建新的項目配置打鈎,點擊確定

 這時候我們可以在解決方案配置中看到我們新建的解決方案配置了

 

 4、選擇我們新建的解決方案配置,右鍵啟動項目,選擇屬性,在彈出的窗口中選擇生成項,在常規項下的條件編譯符號中輸入我們自定義的條件編譯符號(注意:不同的條件編譯符號以冒號隔開),下圖中的LocalTest就是我們新增的符號。

 

 5、我們此時即可用我們定義的條件編譯符號來區分調試與生成了。

#if LocalTest

            string UserName = "administrator";
            string Password = "123";
            AutoLogin(UserName, Password);
#endif

 

上面說的雖然很基礎,但也很重要。聰明的工作方式能提高工作效率,大家平時如果有一些經驗總結,也可以在評論里提出來,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM