правило для получения стека вызовов bjam или почему я регистрирую 2 идентичных генератора - PullRequest
2 голосов
/ 23 марта 2011

Есть ли правило, которое возвращает текущий вызов в bjam?

Я знаю, что если вы позвоните "bjam.exe -d + 10 ..." , он напечатает вам стек вызовов, но ваш собственный ECHO - нет.

То, что я собираюсь сделать, это напечатать стек вызовов в generators.register или любых других правилах из generators.jam , чтобы выяснить, откуда этот двойной регистр.

В настоящее время я регистрирую два идентичных генератора и не могу выяснить, почему. И это в конечном итоге приводит к этому:

Ошибка: обнаружена неоднозначность при поиске наилучшего преобразования

...

Генераторы, которые преуспели:

  • xxx.link

  • xxx.link

...

1 Ответ

2 голосов
/ 04 мая 2011

Это можно сделать с помощью встроенного правила BACKTRACE bjam. Вы также можете рассмотреть возможность использования некоторых удобных оболочек, которые можно найти в tools / build / v2 / kernel / errors.jam, если raw BACKTRACE не предоставляет стек вызовов в формате, наиболее подходящем для вашего случая.

...