如何根据 C“字符串”的长度闯入 Xcode 的调试器?

Posted

技术标签:

【中文标题】如何根据 C“字符串”的长度闯入 Xcode 的调试器?【英文标题】:How to break into Xcode's debugger based on the length of a C "String"? 【发布时间】: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”,但它似乎不起作用,中断永远不会触发。

我做错了什么?

【问题讨论】:

【参考方案1】:

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

void r(void)
   
    printf("Condition was triggered\n");


main()

    do_stuff();
    if(sizeof(output)/sizeof(output[0]) == 5)
    
       r();
    

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

【讨论】:

以上是关于如何根据 C“字符串”的长度闯入 Xcode 的调试器?的主要内容,如果未能解决你的问题,请参考以下文章

C语言字符串长度如何数?

c语言字符串的长度怎么看

C语言中将字符串打印成指定长度的方法

C ++根据用户输入字符串长度创建二维数组

如何在 Xcode 4 中正确创建调整为文本长度的 UIButton?

如何在c语言中计算字符串长度