Я пытаюсь профилировать распределение памяти в DLL, скажем, pluginDLL.dll. Я создаю новый проект в AQTime и добавляю модуль «pluginDLL.dll». Эта DLL скомпилирована в Выпуске x64 с VisualStudio 10, все мои проекты на C ++. Эта DLL связана с библиотекой. Скажи algo.lib. Я добавляю в проект AQTime свою DLL algo.dll.
pluginDLL.dll — это DLL, запрограммированная в API для приложения, скажем, MainApp.exe. Если я запускаю MainApp.exe, затем открываю плагин, запускается процесс MainAppSDK. Этот процесс начинается, когда запускается любой плагин, написанный с этим SDK.
Итак, чтобы запустить профилирование, я действую следующим образом (я уже создал проект с двумя DLL-библиотеками): я запускаю MainApp.exe вручную. Я открываю свой плагин вручную, чтобы запустить процесс MainAppSDK. В AQTime я присоединяю процесс MainAppSDK и запускаю профилирование.
Если я проверяю Проверить границы памяти, приложение вылетает. Предупреждения на панели событий имеют тип «Нарушение прав доступа» в некоторых файлах msvcr100.dll.
Если я проверю только два других варианта, я могу запустить свой плагин до конца. Я могу читать сообщения из моего приложения на панели событий, сообщая, что приложение успешно завершилось. Прежде чем это закончится, я нажимаю на камеру, чтобы получить результаты. И тогда результаты генерируются, но пусты …
Не могли бы вы помочь мне устранить неполадки?
Попробуйте начать профилирование, используя подход, описанный в Профилирование нескольких процессов раздел справки, а не просто присоединение к запущенному процессу.
Если это не помогает, попробуйте использовать онлайн AQtime Устранение неполадок.