c - 如何使用gdb在c中观察字符串

标签 c string gdb watch

作为题主,我希望我能看一个c中的字符串,例如下面。
我希望我只能在
你好->好,好->你好,我应该怎么做?


字符 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");

最佳答案

this question 的答案可能对你有帮助。

我无法使用该语法设置观察点(这将是完美的解决方案),但display 命令是一个非常好的选择。每次执行中断时,它都会打印其表达式的结果。

要使其适用于您的代码,请在 char s[10]; 行设置一个断点并找出 s 数组的地址(使用 p s).然后,用display *(char *)0x00000000@10设置一个显示(其中0x00000000是数组的地址和@之后的数字)是数组的大小)。然后您可以在程序的不同点设置断点,以便每次缩小搜索空间。

关于c - 如何使用gdb在c中观察字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16050846/

相关文章:

linux - 如何将 gdb 附加到剥离的 sshd 服务器?

c - fread 在 socket 上停滞但 get 没有?

c - 在计算字符数后输入文本和 malloc 可能吗? ( C )

c - 获取 C 程序修改的所有内存位置的日志

database - 如何从搜索查询中搜索子项?

python - 如何检查一个字符串是否以另一个字符串结尾,或者相反?

c++ - 如何在没有 gdb 的情况下获取崩溃函数或死锁的回溯(调用堆栈)?

c - 如何为 IAR Embedded Workbench 项目配置 Ceedling?

c - 适用于 Linux 的 Sun Studio 12 C 编译器太慢了

python - 在 Python 中查找和组合数据