базовая трассировка блоков llvm - PullRequest
2 голосов
/ 08 февраля 2011

Я пытаюсь перемещаться по цепочке инструментов LLVM (кажется, что она постоянно меняется) и ищу инструмент отладки: мне нужен поток базовых блоков, через которые проходит программа LLVM при ее выполнении.Похоже, что lli раньше имел опцию -trace, которая делала это, но в 2.8, похоже, этого нет - я предполагаю, что есть более «современный» способ сделать это сейчас?Будет ли один из вариантов -print-after делать то, что я хочу?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 10 февраля 2011

Не могу найти прямой ответ, но вот способ использования valgrind:

valgrind --log-file=blocks --vex-guest-chase-thresh=0 --trace-superblocks=yes --tool=lackey ./a.out

(затем проверьте файл 'blocks')

0 голосов
/ 11 января 2019

Я предлагаю создать класс, который расширил бы класс Interpreter и переопределил бы visitXXX, который вам нужен. Обратите внимание, что эти методы не являются виртуальными внутри Interpreter, поэтому не забудьте обновить код:)

...