Подтвердить что ты не робот

64-битные инструменты, такие как BoundsChecker & Purify

На протяжении многих лет я использовал два отличных инструмента BoundsChecker и Purify, но разработчики этих приложений подвели меня, они больше не прилагают усилий для их поддержки или разработки. У нас есть корпоративные счета в обеих компаниях, и они оба говорят мне, что у них нет намерения выпускать версии для поддержки 64-битных приложений.

Может ли кто-нибудь рекомендовать альтернативные версии с открытым исходным кодом или коммерческие версии, которые поддерживают 64-разрядные собственные приложения С++/MFC?

4b9b3361

Ответ 1

Viva64 (http://www.viva64.com/viva64-tool/) инструмент обеспечивает обнаружение ошибок, типичных для 64-разрядных приложений Windows. Viva64 - это старинный анализатор кода C/С++, подобный lint. Viva64 интегрируется в среду Visual Studio 2005/2008 и предоставляет удобный интерфейс для тестирования ваших программных проектов.

Ответ 2

У Parasoft есть инструмент под названием Insure ++ (ссылка: http://www.parasoft.com/jsp/products/quick_facts.jsp?product=Insure), в котором говорится, что он это сделает.

Я использовал Insure ++ для 32-разрядных и 64-разрядных приложений в Linux, и это сработало. Иногда это путалось, когда он пытался разобрать код шаблона /stl и упал бы.

Этот url говорит, что он работает на 32- и 64-битных окнах, удачи!

Ответ 3

BoundsChecker 9.01 теперь поддерживает VC2008 и x64 бит, наконец.

Ответ 4

insure ++ работает только при использовании кода. Я однажды попробовал. Для составления порядка 1000 строк кода потребовалось около 5 минут. Поскольку проект, который мне нужно было скомпилировать, был огромным, я быстро решил, что Insure ++ не будет работать.

Не говоря уже об их отчетности, или вывод из Insure ++ довольно архаичен. также штраф за выполнение во время исполнения был ужасным.

Примечание о boundschecker от numega/compuware/other_new_company: Не покупайте его. Он поддерживает только 32-разрядные приложения. Он НЕ выполняет 64-битные приложения. Однако он может быть установлен на 64-битной ОС. Я перестал использовать его несколько лет назад в нашем приложении. Я использую его на тестах CppUnit, хотя... иногда.

В общем, я полностью испытываю отвращение ко всем средствам утечки памяти. Все они не работают или просто блокируют ваше приложение при завершении работы.

Ответ 5

FYI: BoundsChecker 10.0 работает на Windows XP через Windows 7, как на 32, так и на 64-разрядных версиях. Он поддерживает WOW64-приложения, а также поддерживает Visual Studio 2010. На самом деле мы выпустили поддержку VS2010 в течение 30 дней после выпуска Microsoft.

Мы догоняем наше отставание. Мы очень поздно получали поддержку VS2005 и VS2008 (с BC 9.0, Fall 2008), но было множество причин, почему это произошло. Чудо состояло в том, что мы все поняли.

BoundsChecker 10.5, когда он выходит, должен иметь еще несколько полезных свойств. Оставайтесь с нами.

Раскрытие: я работаю для MicroFocus.

Ответ 6

Параллельный инспектор Intel (R) (http://software.intel.com/en-us/intel-parallel-inspector/) - это плагин для потоковой передачи и проверки памяти в Microsoft * Visual Studio; он поддерживает 32-битный и 64-разрядный C/С++ в Windows. Это коммерческое приложение с 30-дневной бесплатной оценкой.

Раскрытие информации: я работаю для Intel.

Ответ 7

Я использовал проверку границ и другие инструменты динамического анализа, а в то время как архитектура отличается от кода, который вы проверяете, - в теории вы могли бы проверять границы на любом бэкэнд, а результат был бы таким же - код либо выходит за пределы его границ, либо нет.

Единственные сложности устраняют более 4 ГБ пространства памяти, имея дело с фрагментами кода, которые невозможно перекрестно скомпилировать в 32-битную архитектуру (64-битные объектные файлы, для которых у вас нет источника и т.д.), и общие 64-разрядные проблемы с миграцией (код для конкретной платформы, например, проверка на 0xFFFFFFFF вместо -1)

Какие еще проблемы вы выполняете при проверке границ вашей программы? Вы не можете скомпилировать 32-разрядную версию?

Это не ваше идеальное решение, конечно, и нужно всегда проверять код, который они собираются запустить, но в этом случае у вас может не быть выбора, если вы не захотите выполнить свою собственную проверку границ (что хорошо идея в любом случае...).

-Adam

Ответ 8

я понимаю, что BC 9.0 будет поддерживать WOW64

Ответ 10

От Поддержка IBM PurifyPlus для 64-разрядных версий Microsoft Windows:

Технот (FAQ)

Вопрос

Поддерживается ли IBM Rational PurifyPlus в 64-разрядных версиях Microsoft Windows?

Причина

Популярны 64-разрядные версии Microsoft Windows.

Ответ

Начиная с версии 7.0.1 iFix 003, PurifyPlus поддерживает тестирование 64-битных приложений в Windows.

Более подробную информацию о iFix 003 можно найти в следующем техническом документе IBM Rational PurifyPlus для Windows v7.0.1.0-003

Вы устанавливаете эту версию Purify и получаете запись "Очистить (для 64-разрядных приложений)" в меню "Пуск".