如何在Valgrind中找到未初始化值的来源

时间:2017-09-09 09:44:56

标签: valgrind

我正在调试tinyscheme版本v 1.41。 Valgrind指出

==16675== Conditional jump or move depends on uninitialised value(s)
==16675==    at 0x4062C4: opexe_0 (scheme.c:2579)
==16675==    by 0x403C5E: Eval_Cycle (scheme.c:4471)
==16675==    by 0x40A3AC: scheme_load_named_file (scheme.c:4830)
==16675==    by 0x40A878: main (scheme.c:5118)
==16675== 
==16675== Conditional jump or move depends on uninitialised value(s)

==16675==    at 0x406324: opexe_0 (scheme.c:2586)
==16675==    by 0x403C5E: Eval_Cycle (scheme.c:4471)
==16675==    by 0x40A3AC: scheme_load_named_file (scheme.c:4830)
==16675==    by 0x40A878: main (scheme.c:5118)

这个未初始化的值是某个对象内的类型信息。看来正在创建一些没有类型信息的对象。我很想知道该内存何时被分配,或者该位置是否被其他未初始化的数据覆盖。

有没有办法告诉Valgrind,“告诉我分配内存的时间和地点”?

1 个答案:

答案 0 :(得分:1)

选项

rowCount

指示valgrind提供有关未定义值的来源的更多信息。