2011-10-24 26 views
7

爲了在基於Liv555庫的應用程序中搜索內存泄漏,我嘗試使用valgrind運行它。它導致以下錯誤:Valgrind未處理的指令字節錯誤

vex amd64->IR: unhandled instruction bytes: 0xC5 0xF9 0x57 0xC0 0xC5 0xFA 0x10 0x15 

另一臺計算機上運行它不會導致這個錯誤(它運行得很好),所以我希望這是一些庫版本的結果。這可能是問題嗎?如果是這樣,有誰知道哪個庫可能導致錯誤? valgrind的輸出與-v -v選項位於here

+1

Valgrind Bugzilla中存在類似的錯誤 - [http://bugs.kde.org/show_bug.cgi?id=280835](http://bugs.kde.org/show_bug.cgi?id=280835) – ks1322

+0

將'-msse2'或'-msse3'添加到'CFLAGS'或'CXXFLAGS'應該有助於找出問題。如果它消失了,那麼它可能是Valgrind不瞭解最新的SSE指令的結果。 – jww

回答

6

這裏的FAQ有確切的解釋。

搜索 「x86的煩惱> IR:未處理的指令字節」

這裏的問題:

看起來你已經使用二進制(/usr/lib/libFLAC.so.8.2.0)使用英特爾SSE4優化(strncmp_sse42)進行編譯,這在您使用的amd(Arch和hwcaps:AMD64,amd64-sse3-cx16)上不受支持。