Не могу отладить SharePoint - PullRequest
       11

Не могу отладить SharePoint

0 голосов
/ 16 сентября 2009

Моя ОС - 64-битная версия Server 2008, 64-битная версия SharePoint2007 с пакетом обновления 2, Visual Studio 2008 с пакетом обновления 1 (SP1).

Я пишу веб-часть и развертываю ее на сервере, она отлично работает, но я все еще хочу отладить ее. Я нахожу идентификатор процесса w3wp.exe (порт 80), затем присоединяю его к Visual Studio, как на сервере 2003, но, похоже, он не работает. Но я делаю некоторые точки останова на событии кнопки этой веб-части, после того, как я присоединяю ее к VS и нажимаю кнопку, она не может остановиться на точке останова. Кто-нибудь сталкивался с этой проблемой раньше?

С наилучшими пожеланиями,

Ответы [ 4 ]

3 голосов
/ 16 сентября 2009

Некоторые предложения:

  1. Перед подключением к процессу w3wp убедитесь, что вы переработали пул приложений.
  2. Сборка в режиме отладки, убедитесь, что файлы .pdb генерируются.
  3. Присоединить к правильному процессу w3wp. Если вы не знаете, вы можете (но не рекомендуется) присоединиться ко всем w3wp. Обычно это тот, который используется учетной записью пула приложений.
1 голос
/ 16 сентября 2009

Другое предложение - после присоединения к процессу w3wp (кроме случаев, когда вы отлаживаете задание таймера - затем присоединяетесь к OWSTIMER.exe), нажмите CTRL + ALT + U, чтобы увидеть загруженные модули и соответствующие файлы PDB.

Щелкните правой кнопкой мыши на своей DLL и просмотрите информацию о загрузке символов - если там указано, что PDB не совпадают или что-то в этом роде, просто удалите все PDB из тех мест, которые вы видите в этом окне, пересоберите проект и попробуйте снова.

Ах, да, и вы должны прочитать это .

1 голос
/ 16 сентября 2009

Чтобы расширить Первый пункт Брайана , касающийся перезапуска пула приложений: процесс w3wp.exe для этого пула не запустится снова до первого запроса к сайту. Если вы подключитесь до этого, вы присоединитесь к неправильному процессу (или вообще не будет никакого процесса w3wp.exe). Затем цикл перезаписывает, обновляет, прикрепляет .

Вот несколько способов сделать это проще (к сожалению, ни одно решение не делает все):

  1. Использование Диспетчер пула приложений Спенс Харбар. Это помещает небольшое приложение в системный трей Windows, которое будет перерабатывать пул приложений и , чтобы снова его прогреть (то есть вам не нужно обновлять страницу). Вам все еще нужно прикрепить отладчик.

  2. Используйте WSPBuilder и его встроенные расширения Visual Studio. Это копирует ваши файлы в GAC и автоматически перерабатывает все пулы приложений для вас. Вам все еще нужно обновить страницу и прикрепить отладчик.

  3. Использование функции отладчика для SharePoint . Это добавляет запись в меню «Действия сайта», которая присоединяет отладчик. Он подключится к правильному процессу w3wp.exe и избавит вас от обновления страницы (как это происходит при использовании меню действий сайта). В качестве первого шага вам все равно придется самостоятельно перерабатывать пул приложений. Также обратите внимание, что это полезно только для необработанных исключений - оно не взаимодействует с Visual Studio, поэтому не поможет в сценарии точки останова.

0 голосов
/ 16 сентября 2009

И убедитесь, что если ваши dll находятся в GAC, pdb тоже есть (скопируйте .pdb в c: \ windows \ assenbly \ GAC \ GAC_MSIL \ ASSEMBLYNAME \ ASSEMBLYVERSION).

Каким-то образом при развертывании решения из Visual Studio с использованием скрипта Visaul Studio узнает, какие библиотеки DLL использовать, если я создаю решение и использую командную строку из приглашения, он не найдет файлы pdb.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...