Отладка кода SharePoint 2007

Как вы отлаживаете свой код SharePoint 2007? Поскольку SharePoint работает на удаленном сервере, а я разрабатываю на компьютере с Windows XP (с необходимыми файлами .dll, скопированными в мой GAC), мне не очень повезло с поиском простых способов отладки. Точки останова не работают и т. д.

Лучший способ, который я придумал, - включить трассировку страниц в файле web.config, писать сообщения трассировки во всем моем коде и обращаться к trace.axd всякий раз, когда мне нужно отлаживать.

Есть ли у кого-нибудь лучшие предложения по отладке? Я что-то упускаю?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
0
2 744
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

От Сообщение в блоге Эндрю Коннелла по теме:

Attaching the debugger to GAC'd assemblies: "Why aren't my breakpoints being hit?!?!" Ever been there? Me too... what a PITA that is! What's going on? Well, the assemblies are in the GAC and the Visual Studio debugger can't see the debugging symbols (aka: *.pdb). Unless you've gone through the trouble of setting up a symbol store where all your PDBs are going, you'll need to put the debugging symbols in the same location as the assembly. The trick is finding the folder that contains your DLL in the GAC.

The c:\windows\assembly folder is not a real folder, it's a virtual folder. To get to the REAL folder, do the following:

  • Start » Run
  • %systemroot%\assembly\gac [ENTER]

This will open the GAC folder. Now, poke around until you find a folder that looks like this (you might need to jump up one folder and dive into the MSIL folder): [assembly file name -.DLL extention][assembly version in format of > #.#.#.#]__[assembly public key token].

When you find that folder, open it up and you'll see your assembly. Copy the PDB file to that folder and then attach the debugger for some debugging joy!

Вы также можете отлаживать сборки в GAC удаленного компьютера при подключении к процессу, если этот PDB находится в выходном каталоге на вашем локальном компьютере текущего проекта. Я все время отлаживаю сборки MOSS в GAC на удаленных машинах, не копируя PDB в GAC.

Eric Schoonover 29.09.2008 09:29

Я рекомендую вам разрабатывать на сервере Windows 2003 с Sharepoint. Отладка на удаленном сервере затруднительна. Вы можете сделать это на виртуальной машине с VMWare или Virtual PC, если на вашей рабочей станции стоит XP.

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

Трассировка работает хорошо, поскольку обычная отладка на самом деле не вариант.

Что еще я делаю, так это пытаюсь разработать всю логику (не зависящую от SharePoint) только на обычном сайте asp.net, а затем интегрировать ее в тестируемый SharePoint после.

Надеюсь, это имеет смысл.

Вы говорите о разработке веб-частей? Пользовательские страницы? Что-то другое?

Эмм - использование виртуальных машин не имеет отношения к вопросу об источнике (хотя они очень и очень полезны)

Ryan 29.09.2008 09:27

Почему нормальная отладка - не вариант? Кажется, у меня все время получается неплохо :)

Eric Schoonover 29.09.2008 09:30

Я знаю, я просто подумал, что брошу это туда. Я объяснял, что сначала пытаюсь выполнить отладку в моей обычной среде, отличной от SharePoint (Visual Studio), поскольку отладка в среде SP затруднена.

naspinski 29.09.2008 09:31

Лучший способ (даже тот, который одобрен Microsoft) - иметь Windows 2003 Server с Sharepoint в качестве локальной машины для разработки.

См. Также Эта тема.

Не помещайте свои сборки в GAC, помещайте их в каталог bin - тогда вы можете использовать удаленный отладчик VS. Google создает файлы .WSP для распространения.

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

Иногда отказ от сборки сборки - не лучший вариант. Особенно, когда вы говорите о необходимости переработать свой ПОБВ и повторно развернуть его. это может быть болезненный процесс, если вы просто пытаетесь отладить разовую ошибку, которую вы не можете найти другим способом (проблема, с которой я столкнулся сейчас).

Matthew Bonig 13.11.2009 22:51

Другие вопросы по теме