• 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

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

  • 相关阅读:
    用ssh从ubuntu系统向ubuntu系统服务器发送文件
    python import caffe失败的可能原因
    segnet caffe upsample top index 0 out of range
    出了问题检查下你的caffe 搭建步骤
    由于不能随便改路径,所以写在这里
    关于DatePicker设置MinDate和MaxDate的几个坑
    Socket I/O multiplexing
    STL_迭代器
    基本套接字
    STL_空间配置器(allocators)
  • 原文地址:https://www.cnblogs.com/ssvip/p/11593461.html
Copyright © 2020-2023  润新知