Почему DebugView не показывает отладочные сообщения, когда это делает Visual Studio

Я разрабатываю вспомогательный объект браузера, работающий внутри Internet Explorer. Я пишу отладочные сообщения с помощью ATLTRACE("..."); они отображаются нормально, когда Visual Studio подключена к iexplore.exe процесс, но это медленно для быстрой проверки. DebugView ничего не захватывает из моего BHO.

почему DebugView не показывает сообщения отладки BHO? это как-то связано с Internet Explorer, работающим на низком уровне целостности?

2 ответов


предполагая, что вы используете IE на Vista или более поздней версии (что звучит так, как вы говорите об уровнях целостности), вы можете установить уровень целостности DebugView на более низкую целостность, чтобы любое приложение могло отправлять ему сообщения:

icacls dbgview.exe /setintegritylevel low

и если вам не нравится идея постоянной установки dbgview на низкую целостность (это может сделать сохранение журналов и что-то вроде боли, так как они будут идти только в хранилище с низкой целостностью), вы можете запустить конкретный экземпляр dbgview в низкая целостность с помощью Sysinternals':

psexec -l dbgview

наконец, если все, что вас беспокоит, - это время, необходимое для загрузки отладчика VS для присоединения к процессу ,вы можете использовать отладчик командной строки (например, ntsd.exe или cdb.исполняемый.) Ntsd.exe поставляется с Windows, но более новая версия поставляется с пакет"средства отладки для Windows", который также включает в себя очень похожий cdb.исполняемый.


для ваших быстрых тестов Visual Studio все еще работает? Если это так, это может вызвать эту проблему.