Библиотека классов отладки - PullRequest
1 голос
/ 17 июня 2011

У меня есть библиотека классов c #, которую я вызываю из Classic ASP.

Возможно ли это отладить с помощью visual studio? Точки разрыва в классе не работают, что неудивительно.

Я запускаю это на iis7 в браузере, а не в Visual Studio 2010 из-за того, что я использую классическую страницу ASP. Нужно ли запускать это в Visual Studio, чтобы это работало?

Я также пытался использовать Response.writes, но в результате они: Имя «Ответ» не существует в текущем контексте

Ответы [ 5 ]

1 голос
/ 17 июня 2011

Я действительно написал статью об этом:

http://www.jameswiseman.com/blog/tag/visual-studio-2010/

Из статьи:

  1. Открыть Visual Studio 2010

    Это достаточно просто, если он у вас установлен. Может быть немного сложнее, если вы этого не сделаете; -)

  2. Откройте ваш сайт в Visual Studio

    Опять же, достаточно просто.

  3. Запустите ваш веб-сайт. То есть откройте браузер и перейдите на сайт.

  4. В Visual Studio выберите меню «Отладка» -> «Присоединить к процессу»

  5. Вам может потребоваться установить флажок «Показывать процессы всех пользователей»
  6. ‘Inetinfo.exe‘, если защита приложения низкая, или «dllhost.exe», если защита приложения выше. Вы можете получить всплывающее окно «Attach Security Warning». Если это так, продолжайте. Сначала это немного пугает, но если это ваше собственное приложение на вашем ПК, то все будет в порядке. enter image description here

    Если вас это беспокоит, следуйте советам по MSDN .

  7. Добавьте точку останова к своему коду и перейдите к месту, где вы его нажмете.

Устранение неполадок - Регистрация pdm.dll

Это сработало в первый раз, когда я попробовал. Последующие попытки оказались не столь успешными, и я нашел несколько вещей, которые мне пришлось сделать.

При попытке присоединиться к «Коду сценария» в IDE появилось следующее предупреждение.

Предупреждение: не удается отладить код скрипта. правильная версия pdm.dll не является зарегистрировано. Ремонт вашей Visual Studio 2010 установка или запуск «regsvr32.exe «% CommonProgramFiles% \ Microsoft Общий \ VS7Debug \ pdm.dll».

Просто следуйте этим инструкциям.

Устранение неполадок - перезапустите IIS

Это также помогло в одном случае. Не могу сказать почему.

1 голос
/ 17 июня 2011

попробуйте добавить в код библиотеки: System.Diagnostics.Debugger.Break();, где вы хотите разбить.Также убедитесь, что библиотека скомпилирована и развернута с символами pdb.Когда код достигнет инструкции, IIS выдаст исключение.Система попросит вас подключить отладчик, и вы уже в пути.

1 голос
/ 17 июня 2011

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

В VS2010 перейдите в Инструменты -> Присоединить к процессу (вероятно, то же самое и в 2008 году).

0 голосов
/ 17 июня 2011

Для отладки присоедините отладчик к процессу, как описано в других ответах.

Для трассировки я считаю очень удобным сочетание между System.Diagnostics.Trace.Writeline() в библиотеке классов и прослушивателем OutputDebugString, например DebugView .

0 голосов
/ 17 июня 2011

Вы значительно упростите свою жизнь, если вы закроете свои классы .net в веб-сервисе, а затем вызовете веб-сервис с классических страниц ASP.

...