【问题标题】:How to break into Xcode's debugger based on the length of a C "String"?如何根据 C“字符串”的长度闯入 Xcode 的调试器?
【发布时间】:2021-04-22 00:31:51
【问题描述】:

网上搜索后发现了两种计算C“字符串”[真字符数组]长度的方法

C 数组长度:

*(&arr + 1) - arr

sizeof(arr) / sizeof(arr(0))

只有使用 sizeof 的那个在 Xcode 的调试器中有效。

当声明为“char* output[]”的变量为 5 时,我需要进入调试器。

我尝试了“sizeof(output)/sizeof(output[0]) == 5”,但它似乎不起作用,中断永远不会触发。

我做错了什么?

【问题讨论】:

    标签: arrays xcode debugging


    【解决方案1】:

    您必须根据测试执行某些操作,否则编译器会将其视为无意义的语句而忽略(尽管如果启用了警告,它应该已标记它)。

    void r(void)
    {   
        printf("Condition was triggered\n");
    }
    
    main()
    {
        do_stuff();
        if(sizeof(output)/sizeof(output[0]) == 5)
        {
           r();
        }
    

    然后在 r() 上设置断点。

    【讨论】:

      猜你喜欢
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 2015-03-02
      • 2014-07-15
      • 1970-01-01
      • 2012-01-19
      • 2017-07-05
      • 2016-07-08
      相关资源
      最近更新 更多