如何根据 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 的调试器?的主要内容,如果未能解决你的问题,请参考以下文章