Я не знаю, что я сделал неправильно, но я не могу это исправить.Почему ValGrind не может найти мои символы?
Согласно file
,
test: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.16, BuildID[sha1]=0x436d17ab04dc54f35f1a8e6a16d4f87aaf79a0e9, not stripped
Это ясно говорит, что "не раздели". И все же, когда я бегу VALGRIND,
--27709-- Reading syms from /root/ValGrind/test (0x8048000)
--27709-- object doesn't have a dynamic symbol table
Я не могу понять, почему объект не имеет таблицу символов ... Что я делаю не так?
Редактировать: Это потому, что двоичный файл 32-разрядный, и я запускаю 64-битную ОС? Или это не имеет значения?
Бинарный файл _is_ статически связан. Наверное, это моя проблема? – MathematicalOrchid
Ну, статическое связывание, по крайней мере, даст вам неполные результаты при запуске Valgrind, так что да, это проблема _a_. В соответствии с документом вы можете использовать опцию «--soname-synonyms = somalloc = NONE» как обходной путь (я не пытался, что на самом деле работает, хотя). – oliver