C 中上下文中的 Valgrind 错误

米洛

我收到此错误,但找不到原因,这是一个项目,我无法在此处真正显示源代码,但我像这样分配内存:

if(!data_counter)
    lab=(ptr)malloc(sizeof(item));
else
    lab=(ptr)realloc(lab,sizeof(item)*(DC+1));

即使我的代码编译和运行完美,我也一直在 Valgrind 中获取此日志。
我感觉我重新分配了错误的内存。sizeof(item) 中的 item 也是一个具有 4 个字段的结构

==18449==   
==18449== HEAP SUMMARY:  
==18449==     in use at exit: 352 bytes in 1 blocks  
==18449==   total heap usage: 15 allocs, 14 frees, 4,416 bytes allocated  
==18449==   
==18449== Searching for pointers to 1 not-freed blocks  
==18449== Checked 69,180 bytes  
==18449==   
==18449== LEAK SUMMARY:  
==18449==    definitely lost: 0 bytes in 0 blocks  
==18449==    indirectly lost: 0 bytes in 0 blocks  
==18449==      possibly lost: 0 bytes in 0 blocks  
==18449==    still reachable: 352 bytes in 1 blocks  
==18449==         suppressed: 0 bytes in 0 blocks  
==18449== Reachable blocks (those to which a pointer was found) are not shown.  
==18449== To see them, rerun with: --leak-check=full --show-reachable=yes  
==18449==   
==18449== Use --track-origins=yes to see where uninitialised values come from  
==18449== ERROR SUMMARY: 4 errors from 3 contexts (suppressed: 0 from 0)  
==18449==   
==18449== 1 errors in context 1 of 3:  
==18449== Conditional jump or move depends on uninitialised value(s)  
==18449==    at 0x804B960: checkLabel (12.c:797)  
==18449==    by 0x8048B55: line_parser (12.c:132)  
==18449==    by 0x8048914: file_parser (12.c:108)  
==18449==    by 0x804C5CE: main (12.c:995)  
==18449==   
==18449==   
==18449== 1 errors in context 2 of 3:  
==18449== Conditional jump or move depends on uninitialised value(s)  
==18449==    at 0x804BC24: checkLabel (12.c:836)  
==18449==    by 0x8048B55: line_parser (12.c:132)  
==18449==    by 0x8048914: file_parser (12.c:108)  
==18449==    by 0x804C5CE: main (12.c:995)  
==18449==   
==18449==   
==18449== 2 errors in context 3 of 3:    
==18449== Conditional jump or move depends on uninitialised value(s)  
==18449==    at 0x804BE61: update_labl_adrr (12.c:883)  
==18449==    by 0x804C720: main (12.c:1014)  
==18449==   
==18449== ERROR SUMMARY: 4 errors from 3 contexts (suppressed: 0 from 0)  

任何帮助将不胜感激

新巫师

如果您指的是Conditional jump or move depends on uninitialized value(s)错误,则意味着您的条件包含未初始化的值。

这可以在一个条件whileforifswitch语句。从 Valgrind 回溯,您可以看出checkLabeland 中有一些流控制语句update_labl_adrr,但由于我们看不到该代码,因此很难说其他任何内容。

使用递归结构(即链表、树等)时的一个常见错误是不将next/child指针初始化为 NULL。这通常会导致您发布的错误。但是,这完全是猜测,因为我们对您的代码一无所知。
没有办法提供任何进一步的帮助,至少,如果不知道里面写了什么checkLabelupdate_labl_addr

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

valgrind printf()错误,C中的线程程序

当前上下文中不存在name函数c#错误

模板上下文中的“歧义基类”错误

Eratosthenes Prime(C)的Valgrind错误

什么是致命错误:未捕获错误:在不在对象上下文中时使用$ this?

未评估上下文中的lambda(直到C ++ 20)

在C ++ 11上下文中使用std :: optional

MAT_DIALOG_DATA:错误:必须从注入上下文中调用inject()错误:必须从注入上下文中调用inject()

读取文件时valgrind中的错误-C

反应错误:“在...的上下文中找不到'商店'”

在当前上下文中不存在在C#说明名称中取消装箱的错误?

错误:不在对象上下文中时使用“ $ this”

嵌套函数中的省略号扩展:错误“'...'在错误的上下文中使用”

c#TCP / IP通信错误:请求的地址在自己的上下文中无效

错误:在当前上下文中不存在

当前上下文错误

Winsock,C#严重级代码错误:名称“ DataInput”在当前上下文中不存在

我如何在cakephp 3的上下文中解决此SQLSTATE错误?

Windows Phone 8.1上的flipview错误“名称”在当前上下文中不存在”

C valgrind 错误

C# 上下文错误

未知的 valgrind 错误 C

在 C# ExcelApp 析构函数中,我收到错误“当前上下文中不存在该应用程序”

std::enable_if 与非直接上下文中的硬错误

c++ lambda在错误的地址/错误的上下文中执行

错误:useRoutes() 只能在 <Router> 组件的上下文中使用

如何修复错误,名称“ ”在 c# 中的当前上下文中不存在

错误:“int XYZ::data”在此上下文中是私有的

在 C 编程语言的上下文中,什么是产生式?