Инструмент отладки для сравнения параметров для MSVS? - PullRequest
1 голос
/ 08 марта 2012

Существуют ли плагины для MSVS (любой версии) для сравнения параметров функции?

Итак, мне нужно вызывать функцию с большим количеством параметров, которые не являются типами POD, могут быть полиморфными объектами... Во всяком случае, старый код спагетти.Рефакторинг не может быть и речи.

Иногда функция выводит правильно, иногда нет.Я хочу сравнить параметры между вызовами, которые дают правильные результаты, и другие.Я мог бы отладить это, и я мог сравнить параметры вручную, но это не первый раз, когда я сталкивался с этой проблемой, и я думаю, что было бы намного проще, если бы у нас было что-то вроде Araxis Merge (возможно, в формемакроса), что позволит вам сравнить параметры между вызовами.Знаете какие-нибудь такие инструменты?

1 Ответ

1 голос
/ 09 марта 2012

Какой язык программирования вы используете? Если вы используете C #, вы можете использовать созданный мной коммерческий плагин BugAid для сохранения и последующего сравнения объектов и поиска различий между ними, даже если они очень сложные и большие (см. video * 1004). *), но вам придется сохранять каждый параметр отдельно; в настоящее время нет способа автоматически сохранить все параметры функции.

Если вы используете какой-либо другой язык, моим лучшим предложением было бы открыть Immediate Window и набрать «? First_parameter_name» (enter), «? Second_parameter_name» (enter) и т.д. в инструмент сравнения, такой как Araxis Merge. Это распечатает содержимое переменной и ее членов, избавляя вас от необходимости вручную расширять узлы и копировать вставку из окна просмотра. Вы можете теоретически написать VS-макрос , который автоматизирует эту процедуру, с помощью , используя модель кода Visual Studio , чтобы выяснить, каковы параметры текущего метода.

Полное раскрытие информации : Как я уже говорил, я являюсь одним из создателей упомянутого выше инструмента.

...