zoukankan      html  css  js  c++  java
  • 转: Visual Studio 调试小技巧(1)根据字符串内容添加断点

    在用Visual Studio调试程序时,我们经常需要根据数值添加断点。比如需要当i == 2时中断运行,我们可以添加如下的断点:

    根据数值添加条件断点 

    有些时候,我们需要根据字符串的内容来添加断点。比如我们在调试如下代码:

    void CVSDebugTricksDlg::OnBnClickedButton1()

    {

       char* string;

       for(int i = 0; i < 5; ++i) {

             string = GetString(i);

             TRACE(string);

       }

    }

    char* CVSDebugTricksDlg::GetString(int number)

    {

       switch (number) {

       case 0:

             return "Zero";

       case 1:

             return "One";

       case 2:

             return "Two";

       default:

             return "Other";

       }

    }

    我们希望当运行到Trace(string)时,如果字符串string为”Two”时能中断运行。如果我们和根据数值添加断点一样的方法,添加如下断点:

    无效的根据字符串内容设置条件断点 

    当我们运行上述代码时,会发现即使string的内容”Two”时,运行并没有中断。这是因为==运算符比较的是两个字符串的地址而不是内容,因此上述断点并不能满足我们的需求。

    Visual Studio考虑到程序员经常会根据字符串的内容添加断点,因此在添加断点这个功能上为字符串做了特殊的支持。我们在根据字符串内容添加断点时,可以使用strcmp等函数来设置断点。

    于是在上述示例中,我们可以用strcmp函数来添加如下断点:

    有效的根据字符串内容设置条件断点

  • 相关阅读:
    js--script和link中的 integrity 属性
    html之aria-hidden="true"
    S-HR之导入模板校验非当天变更限制
    拆分字符串
    S-HR之变动操作,变动原因,变动类型/离职操作,离职原因,离职类型
    mysql数学函数
    html页面引入
    springboot之server属性
    【开发工具】-Idea代码提示忽略大小写
    【个人提升】-怎样获得技术的成长(转)
  • 原文地址:https://www.cnblogs.com/gaozehua/p/2332414.html
Copyright © 2011-2022 走看看