• 6486阅读
  • 1回复

Vargrind 提示错误:Jump to the invalid address stated on the next line??? [复制链接]

上一主题 下一主题
离线bestvalentin
 
只看楼主 倒序阅读 楼主  发表于: 2008-05-11
— 本帖被 XChinux 执行加亮操作(2008-05-19) —
==19241==
==19241== Thread 4:
==19241== Jump to the invalid address stated on the next line
==19241==    at 0x1010000: ???
==19241==    by 0x8077B95: decode_slice (h264.c:5274)
==19241==    by 0x807C133: decode_nal_units (h264.c:5570)
==19241==    by 0x807D1D3: decode_frame (h264.c:5722)
==19241==    by 0x807E9A3: avcodec_decode_video (utils.c:404)
==19241==    by 0x80A2904: CVideoDecode::run() (videodecode.cpp:220)
==19241==    by 0x481EF51: (within /root/install/qtopia-opensource-4.2.0/image/lib/libQtCore.so.4.2.2)
==19241==    by 0xC6E50A: start_thread (in /lib/libpthread-2.7.so)
==19241==    by 0xD57B2D: clone (in /lib/libc-2.7.so)
==19241==  Address 0x1010000 is not stack'd, malloc'd or (recently) free'd
==19241==
==19241== ERROR SUMMARY: 1076 errors from 38 contexts (suppressed: 42 from 1)
==19241== malloc/free: in use at exit: 3,233,192 bytes in 1,674 blocks.
==19241== malloc/free: 22,666 allocs, 20,992 frees, 6,302,022 bytes allocated.
==19241== For counts of detected errors, rerun with: -v
==19241== searching for pointers to 1,674 not-freed blocks.
==19241== checked 35,011,800 bytes.
==19241==
==19241== LEAK SUMMARY:
==19241==    definitely lost: 0 bytes in 0 blocks.
==19241==      possibly lost: 6,104 bytes in 197 blocks.
==19241==    still reachable: 3,227,088 bytes in 1,477 blocks.
==19241==        suppressed: 0 bytes in 0 blocks.
==19241== Rerun with --leak-check=full to see details of leaked memory.
已杀死



程序运行一段之后出现段错误,用Vargrind,得到以上提示,有人知道这是什么原因吗?
Linux 6.23.1 fc8
gcc 4.0
Vargrind 3.0
离线bestvalentin
只看该作者 1楼 发表于: 2008-05-19
问题已解决,valgrind报错肯定是有错误,但是错误不一定就是它指出的地方.所以,工具仅供参考.
快速回复
限100 字节
 
上一个 下一个