Инструмент анализа исключений для С++
Я искал инструмент для извлечения информации об исключении из программы на С++. Самая важная функция, которую я ищу: я хочу знать все исключения, которые могут быть выбраны из функции (которая будет включать в себя всю функцию, которая вызывается из этой функции рекурсивно).
Я всегда думал, что документирование ошибок и исключений, в частности, очень сложно (и требует больших усилий для обновления). Но если есть способ автоматизировать это, это будет очень полезно.
Инструмент для окон и Visual Studio был бы предпочтительным, но не необходимым, я всегда мог бы обойти это.
Ответы
Ответ 1
PC-Lint утверждает, что делает статический анализ исключений кода С++.
Coverity - еще один статический инструмент анализа кода на С++, который, по-видимому, информирует вас о необработанных исключениях.
AQtime утверждает, что он отслеживает исключения как часть анализа кода. Кроме того, они рекламируют интеграцию Visual Studio.
Здесь - это список нескольких инструментов анализа статического кода.
Ответ 2
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Работа с этим инструментом - это моя дневная работа.
Мне сложно написать это без него, похожее на рекламный талон, поэтому я заранее извиняюсь.
Как и в другом анализе, QA С++ выводит список типов, которые выбрасываются из тела функций и дерева вызовов. Я считаю, что это будет вся информация, которая вам нужна.
Ответ 3
Спасибо за ваш ответ. Некоторые комментарии по этому поводу:
PC-Lint: они упоминают, что у них есть "анализ исключений из С++ без ограничений", не уверенный, что это означает. И, к сожалению, они не предлагают пробную версию. И у меня нет денег на покупку программного обеспечения за $239, не зная, что он решит мою проблему. Но я отправлю их по почте и спрошу.
Покрытие: не удалось найти упоминания об исключениях в их описании. Они говорят, что у них есть третий интерфейс, где можно сделать плагин для анализа этого. Не совсем то, что я ищу.
AQtime: имеет только время выполнения исключения.
Ответ 4
EDoС++ (http://edoc.sourceforge.net) - еще одна альтернатива.
Ответ 5
Я получил ответ от PC-Lint. И хотя они анализируют исключение, кажется, что это больше похоже на то, чтобы ловить ошибки в вашем коде. Фактически, на странице примера, которую они мне отправили, весь пакет, похоже, должен анализировать код ошибок и ошибок.
Это не то, что я хочу, мне нужно что-то вроде графика вызовов, но для исключений.
Я предполагаю, что мой поиск продолжается...