#include
main()
{
void my_print(char *string );
void my_print(char *string );
char string[]="hello world ";
my_print(string);
my_print1(string);
}
void my_print(char *string)
{
printf("The string is %s\n",string);
}
void my_print1(char *string)
{
char *string1;
int size ,i;
size = strlen(string);
string1=(char *)malloc(size +1);
for(i=0;i
{
string1[size-i]=string;
}
string1[size + 1]='\0';
printf("The string printed backward is %s\n",string1);
}
比如用以上例子来看string1【size-i】的值
gcc -g -o string string.c
gdb string
然后设置断点
break 23 到需要查看的地方(行号)
run 运行
Breakpoint 1, 。。。。string.c:23
断点停止
查看:
watch string[x] 跟踪变量变化情况
还有要注意 全局变量或当前堆栈区可见的变量才能watch
回复 板凳 daicheng 的帖子
谢谢!我照着你的话去做了但是还是没有出现那个变量的值,只出现了“Hardware watchpoint 2:string1【size-1】”,就是不出现string1[size-i] 这个变量的值
还有按了很多next之后才出现一个string1【size-1】='\0'