我正在尝试比较两个名称字符串以返回匹配的结构。我使用GDB验证了传递给strcmp()的两个参数都是非空的。但是,当我调用strcmp()时,程序出现了分段错误。valgrind的输出为: ==5563== Invalid read of size 1
==5563== at 0x483EED7: strcmp (in /usr/lib/x86_64-linux-gnu/valgrind/vgpr
下面是我的函数的一个提炼版本。char *result = NULL; while (currnv) if ((strcmp当我读到文档时,它说:“当你的程序在一个Memcheck认为它不应该读写的地方读写内存时,就会发生这种情况。”但我看不出我在这么做...!!==5695== Invalid read of size 1
==5695==
所以我在使用Valgrind时得到了这个错误:读取大小为1的无效数据。这是程序中出现错误的部分。至于程序是做什么的。msgArr是一堆以字符串形式存储的整数。然后,我从**msgArr中提取int值,并将其用作从**wordArr中获取字符的索引。我得到的字符,我存储他们**解码。==31064== Invalid read of size 1
==31064== at 0x4E84029:
我试图从管道中读取一次并打印出结果,但我得到了双倍输出。我认为读取和写入的大小不正确(Why is the output printed twice with write() and not with print() in IPC using pipe?),但我在写入之前打印出了孩子中的大小,然后尝试将相同的大小输入到读取函数中,但仍然得到了双倍的输出。|| (strcmp(args[i], &qu
我一直在抓挠我的头发,但似乎找不到下面的代码有什么问题。下面是它生成的一小部分伐研输出。242) by 0x5E65CA: Application::readConfigurationFile() (char_traits.h:262) by 0x5694BD:主地址0xafc 9660的大小为24个字节,大小为39,大小为0x4C20E0D:操作符delete (vg_replace_malloc.c:342) by 0x635618:配置器:getParameterValue(cha
在这个程序中,我试图获取存储在文件中的信息,然后搜索它以找到存储的号码。我删除了遍历文件以查找存储的数字的部分,因为该部分运行良好。但是,在本节中,第63行(带有strlen的那一行)有一个错误,它会导致报告valgrind错误==4149==; rerun with -h for copyright info==4149==
==4149== Invalid re