zoukankan      html  css  js  c++  java
  • 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

    上面说的虽然很基础,但也很重要。聪明的工作方式能提高工作效率,大家平时如果有一些经验总结,也可以在评论里提出来,谢谢!

  • 相关阅读:
    关于MATLAB处理大数据坐标文件2017527
    关于MATLAB处理大数据坐标文件2017526
    关于MATLAB处理大数据坐标文件
    Python入门(2)
    Python入门
    [leetcode] 349. Intersection of Two Arrays 解题报告
    [leetcode] 283. Move Zeroes 解题报告
    [leetcode] 389. Find the Difference 解题报告
    [leetcode] 104. Maximum Depth of Binary Tree
    [leetcode] 258. Add Digits
  • 原文地址:https://www.cnblogs.com/ssvip/p/11593461.html
Copyright © 2011-2022 走看看