Вместо этого вы должны использовать отладчик. Добавление выражений printf к основному коду приведет к тому, что ваш вывод появится на stdout, который ваши сценарии Tcl могут перенаправлять. использование fprintf(stderr, ...)
может с меньшей вероятностью столкнуться со сценариями, которые вы запускаете. --enable-symbols
просто приводит к отлаживаемой сборке - это не повлияет на способность писать на stdout, но приведет к тому, что отладчик сможет создавать значимый результат.
Вы не говорите - но если вы находитесь в Windows и встроены в графическую программу, вы, вероятно, вообще не имеете stdout. В Windows лучше всего использовать OutputDebugString и просматривать сообщения в окне вывода Visual Studio или sysinternals DbgView. В unix консоль, на которой вы запускаете приложение, должна показывать вывод. Однако на самом деле отслеживание ваших модов с помощью отладчика будет лучшим маршрутом.
Вы действительно хотите изменить ядро? Кажется маловероятным для меня. Обычно вы просто добавляете дополнительные интерпретаторы для предоставления интерфейса вашему хостинговому приложению. API Tcl предлагает доступ практически ко всему, с чем вы, возможно, захотите поиграть.
Какова функциональность, которую вы пытаетесь добавить, и которая вам нужна для отладки самого Tcl, чтобы понять? (Я надеюсь, что у него нет интерпретатора в нескольких потоках, что _really_ не будет работать ...) –