Есть COM объект, написанный на C#. COM объект компилирую в релиз (debug информация включена), регистрирую. Запускаю стороннее приложение — COM клиента и хочу посмотреть в отладчике, что передается моему COM объекту. Делаю attach в VS к процессу клиента (проект перевожу в debug), но на точке останова стоит восклицательный знак — no symbols have been loaded for this document. Что делаю не так?
Т>> no symbols have been loaded for this document. Что делаю не так?
C>ну такое бывает, если хост-процесс еще не стартанул
Т.е.? Как не стартанул? Я же приаттачиваюсь к клиенту
Здравствуйте, трайкатч, Вы писали:
Т>Есть COM объект, написанный на C#. COM объект компилирую в релиз (debug информация включена), регистрирую. Запускаю стороннее приложение — COM клиента и хочу посмотреть в отладчике, что передается моему COM объекту. Делаю attach в VS к процессу клиента (проект перевожу в debug), но на точке останова стоит восклицательный знак — no symbols have been loaded for this document. Что делаю не так?
Так посмотрите, символы-то загружены для Вашей библиотеке? В окне модулей.
"Нормальные герои всегда идут в обход!"
Re: Отладка COM написанного на C#
От:
Аноним
Дата:
20.11.10 18:48
Оценка:
Здравствуйте, трайкатч, Вы писали:
Т>посмотреть в отладчике, что передается моему COM объекту
Debugger.Break()
Вроде получилось сейчас, точки останова моего COM объекта срабатывают. Но лишь в том случае, если я аттачусь к клиенту, который уже инстанциировал мой COM объект. Если приаттачиться раньше (до создания экземпляра COM объекта), то по прежнему восклицательные знаки на точках останова и они не срабатывают. Все бы ничего, но мне нужно смотреть что происходит в конструкторе COM объекта, а туда я никак не могу попасть
Здравствуйте, трайкатч, Вы писали:
Т>Вроде получилось сейчас, точки останова моего COM объекта срабатывают. Но лишь в том случае, если я аттачусь к клиенту, который уже инстанциировал мой COM объект. Если приаттачиться раньше (до создания экземпляра COM объекта), то по прежнему восклицательные знаки на точках останова и они не срабатывают. Все бы ничего, но мне нужно смотреть что происходит в конструкторе COM объекта, а туда я никак не могу попасть
добавляешь в решение новый проект(выбираешь EXE файл который цепляет COM и жмешь OK) в свойствах устанавливаешь версию дебагера. Далее запускаться будешь с этого проекта
PS: Это возможно под Visual Studio 2010
Здравствуйте, SanyaVB, Вы писали:
SVB>добавляешь в решение новый проект(выбираешь EXE файл который цепляет COM и жмешь OK) в свойствах устанавливаешь версию дебагера. Далее запускаться будешь с этого проекта SVB>PS: Это возможно под Visual Studio 2010
VS 2010. Какого типа проект нужно добавить?