Использую фреймворк Cocotb для написания тестовых окружений для HDL-проектов. Симулятор Modelsim Altera Starter Edition (бесплатный). При использовании симулятора IcarusVerilog+Python3+Cocotb потребление памяти в норме, однако в связке Modelsim+Python3+Cocotb наблюдается лютая утечка памяти. Связь через VPI интерфейс.
Как отладить утечку памяти в такой связке? Причем Python часть я смотрел при помощи dowser профилировщика памяти и там всё в норме, вероятно. Отсюда делаю вывод что течет сам Modelsim в такой связке, что-то работает или используется не так (код не мой). Либо течет в коде, который связывает Python + VPI, который при запуске компилируется в библиотеку *.so
Чистые тесты на System Verilog не приводят к потере памяти на Modelsim.
У программы Modelsim нет отладочных символов, но может я смогу внятно сформулировать хотя бы какую-то информацию для отладки, для багрепорта. Надо как-то локализовать, при использовании какой функции не освобождается память.
Но больше я подозреваю именно библиотеку, которая формируется для связки VPI + Python из состава Cocotb. Можно ли как-то отладить проблемы памяти тогда, если у основной программы нет отладочных символов, а у библиотеки, которую она загружает динамически - такие символы есть?