| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > debugger для препроцессора. где раздобыть? |
| Автор: boostcoder 6.7.2011, 18:12 |
| всем привет. часто использую препроцессор для кодогенерации. иногда объем препроцессорного кода достигает 2000 строк. если где-то закрадывается ошибка, отыскать ее это целый квест посему вопрос: существует ли препроцессорный дебагер? спасибо. Добавлено через 3 минуты и 22 секунды есть http://www.boost.org/doc/libs/1_46_1/libs/wave/index.html. так же есть мысль, что с помощью этой либы можно реализовать дебаггер. но что-то лень.. может все же есть что-то готовое? |
| Автор: afiskon 7.7.2011, 09:23 |
| Препроцессор - в смысле обычные макросы или какую-то свою наработку? Уверены, что тут не имеет место преждевременная оптимизация или что-то в этом роде? |
| Автор: boostcoder 7.7.2011, 09:26 |
не уверен что понял... вы видели макросы, объемом в тысячи строк? так вот для таких макросов и нужен дебаггер. ибо это уже не просто текстозамена, а настоящая программа на языке препроцессора. |
| Автор: Earnest 8.7.2011, 14:26 |
| boostcoder, Какие ошибки ты имеешь в виду? Компиляции или уже выполнения? Честно сказать, с ошибками выполнения из за макросов давно не сталкивалась, т.к. привыкла все в скобки заключать. А вот когда не компилируется, просто прошу сгенерировать препроцессированный файл (с исходными строками в виде комментариев); ковыряться в нем - счастье небольшое, ибо туда все инклуды впихнуты; но иногда просто нет другого выхода, да и поиск помогает. В MS есть подобная опция, да и у других компиляторов должна быть. |
| Автор: boostcoder 8.7.2011, 17:32 |
да, компиляции. так и делаю. но там же черт ногу сломит.. мало того что нужно понять что не правильно генерится... нужно понять еще и почему, и как исправить... дебаггер был бы в самый раз. |
| Автор: triclosan 8.7.2011, 17:35 |
| имхо писать свой парсер надо |
| Автор: boostcoder 9.7.2011, 14:44 |
ну нет. препроцессор генерит код используя макросы. так вот возможность просмотреть пошагово процесс разворачивания макросов и и их аргументы, сильно помог бы. да. но в данном случае шаблонами тут не обойтись. как в этом примере: http://forum.vingrad.ru/index.php?showtopic=310053&view=findpost&p=2224452 |
| Автор: Earnest 9.7.2011, 15:01 |
Ну, я и имела в виду, отлаживать не саму компиляцию, а препроцессинг. Пример читать сил нет, слишком много букв |
| Автор: boostcoder 9.7.2011, 15:19 | ||
ага. перейти на ЯП с динамической типизацией. но тут возникнет другая, более сложно уловимая ситуация: ошибки при работе с типами, придется вылавливать в run-time в общем Вашу позиция понял. спасибо. Добавлено через 7 минут и 2 секунды
но это на самом деле второстепенная проблема. а первостепенная в том, что хорошо я не знаю ни одного ЯП с динамической типизацией |
| Автор: baldina 9.7.2011, 18:47 |
какая связь между макросами и динамической типизцией? |