作为toppic,我希望我能在c中观看一个字符串,例如下面。
我希望我只有在你好的时候才能停止 - 好吧,好的 - >你好,我应该这样做吗?
char s[10];
strcpy(s,"HELLO");
strcpy(s,"HELLO");
strcpy(s,"HELLO");
strcpy(s,"GOOD");
strcpy(s,"GOOD");
strcpy(s,"GOOD");
strcpy(s,"HELLO");
strcpy(s,"HELLO");
strcpy(s,"HELLO");
答案 0 :(得分:2)
this question的答案可能会对您有所帮助。
我无法使用该语法设置 watchpoint (这将是完美的解决方案),但display
命令是一个非常好的选择。每次执行中断时,它都会打印出表达式的结果。
要使其适用于您的代码,请在char s[10];
行设置断点,并找出s
数组的地址(带p s
)。然后,使用display *(char *)0x00000000@10
设置显示(其中0x00000000
是数组的地址,@
之后的数字是数组的大小)。然后,您可以在程序的不同位置设置断点,以便每次缩小搜索空间。
答案 1 :(得分:1)
作为一种解决方法,您可以为表达式设置监视
watch s[0]+s[1]+s[2]+s[3]
将在字符串中的前四个字符中的任何一个更改
时停止答案 2 :(得分:-2)
你可以通过用-g编译tha程序来使用gdb然后创建一个断点,然后使用n看看debugging .....但经常使用printf语句,以便你可以看到实际发生了什么....