LINUX.ORG.RU

GDB & TCACHE HEAP & QEMU == много аномалий

 


0

5

Приветствую.

Недавно возникла потребность запустить qemu-3 под отладчиком, дабы изучить поведение некоторого ее функционала в куче.

Куча - обеспечена на домене посредством libc-2.30 на дебиане. собрана сама qemu из исходников с добавлением флага -g

при запуске виртуализации в нативном режиме - баг проявляется. при запуске виртуализации из под gdb - аномалии (не буду перечислять какие, но память распределяется совершенно иначе, раница очень велика) при запуске виртуализации с помощью strace - аналогично. что заставляет грешить на сам ptrace() при аттачинге дебагером к запущенному процесу - после чего создания нужных условий - тоже самое. баг проявляется координально иначе чем на нативно запущеной qemu.

если честно, я в ступоре. даже не имею понятия куда копать.

Подскажите?

Я х3 про архитектуру qemu, но я бы искал отличия в том как устроенна паравиртуализация, какие там требования по работе с памятью и т.п. Хотя, сдаётся мне - сам qemu, это просто клиент к ядрёному интерфейсу. Отпиши если разберёшься - звучит интересно.

Без относительно проблем с ptrace - я бы пошёл путём анализа и добавления логов.

pon4ik ★★★★★
()

Есть кстати отличный отладочный приём - если под отладчиком баг не воспроизводится, то можно написать код, который валится в корку при нужном условии, даже специальный макрос в сишечке был под это дело.

pon4ik ★★★★★
()
Ответ на: комментарий от pon4ik

спасибо за идею на счёт корок. как вариант.

Костыльно конечно, но все же.

Мне тут подсказали, что кроме GDB есть ещё LLDB - более современный дебагер.

Попробую его, если будет разница - обязательно отпишусь.

З.Ы. я так понял, что память именно на TCACHED версиях либца под GDB ведет себя несколько иначе, причем не только у QEMU но и у других проектов. просто в случае с QEMU это проявилось явно.

swagcat228
() автор топика
Последнее исправление: swagcat228 (всего исправлений: 2)
Ответ на: комментарий от swagcat228

Трабл с памятью был решен с помощью двухдневной компиляции LLDB

Штош, прийдётся осваивать его интерфейс….

swagcat228
() автор топика

swagcat228

Приветствую! Мы с тобой общались на codeby, но тебя там забанили :( Можем перейти в телеграм?

IgoEst
()
Ответ на: swagcat228 от IgoEst

Нет не можем, у нас тут не сайт знакомств. Давай публично пиши

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.