DevPartner BoundsChecker ломает мою программу
Я работаю над программой, которая, как я подозреваю, имеет одну или несколько утечек памяти. Какой-то другой ответ о переполнении стека сказал мне попробовать DevPartner BoundsChecker (один из многих других, которые я пробовал).
Теперь, когда я запускаю свою программу с запущенным BoundsChecker, она сломается. В какой-то момент откроется диалоговое окно открытия файла Windows, и прямо перед тем, как это произойдет, будет запущена непостоянная точка останова. Это происходит только при работающем BoundsChecker.
Согласно выводу консоли, последнее, что пытается сделать программа, это загрузить C:\Windows\SysWOW64\slc.dll
который DevPartner признает "клиентом лицензирования программного обеспечения Microsoft". Поскольку мы не используем лицензирование программного обеспечения в этой конкретной программе, это должно как-то быть связано с диалоговым окном, которое предполагается открыть.
В любом случае, я действительно хочу найти те утечки памяти, и для этого мне нужно открыть этот файл. Есть ли возможность сказать BoundsChecker, чтобы он не ломал мою программу из-за этой проблемы (какой бы она ни была)?
1 ответ
Басти, была известная ошибка в версиях 9.x BoundsChecker с приглашением открыть файл MFC. Если вы опубликуете свои версии для DPS и Visual Studio, я могу сказать, какой патч или обновление вам нужно обойти. С другой стороны, если вы действительно запутываетесь в DLL-библиотеке защиты лицензий, BoundsChecker может использовать в ней некоторую логику против взлома. Я видел, как DPS повышает логику защиты от взлома в других продуктах Micro Focus. Если это последнее, вам нужно будет обратиться в службу поддержки клиентов Micro Focus и предоставить образец для повторного тестирования. Бесстыдная вилка: я работаю в команде DevPartner. Мы выпускаем DPS 10.5 с поддержкой BoundsChecker для приложений x64 4 февраля 2011 года. Пожалуйста, посмотрите, исправляет ли эта версия вашу проблему после публикации пробной версии.