Точка останова не достигается при удаленной отладке в Интернете для ASP.NET

У меня есть удаленная отладка на сервере Windows 2003, доступ к которому осуществляется через Интернет. У меня VS 2008 SP1 установлен на моем устройстве для разработки XP.

Я запустил сайт на удаленном сервере и подключил ко всем процессам w3wp.exe на удаленном сервере. Я заметил, что .dll не загружает файл символов. Когда я пытаюсь загрузить соответствующий файл .pdb с моего локального компьютера, он сообщает, что файл не совпадает. У меня снят флажок «Требовать, чтобы исходные файлы точно соответствовали исходной версии». Сборка на удаленном сервере такая же, как и на моем устройстве для разработчиков. Сайт и .dll были скопированы из блока разработки на удаленный сервер, и с тех пор код не изменился. Итак, я знаю, что файлы .dll и .pdb должны совпадать или, по крайней мере, мне нужно принудительно сопоставить.

Вопросов:

  1. Как мне загрузить файл .pdb? Я знаю, что точки останова не сработают, если не загружен файл символов. Я заметил, что файл .pdb не существует в папке «Временные файлы ASP.NET» на удаленном сервере. .Dll делает.

  2. Какова правильная последовательность запуска удаленной отладки внутри VS? (Удаленная настройка завершена, и я могу видеть удаленные процессы). В VS у меня есть стартовая страница в качестве URL-адреса удаленного сайта. Я запускаю без отладки, а затем подключаюсь к w3wp.exe на пульте дистанционного управления. Это все?

Стоит ли изучать 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 называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
11
0
9 208
1

Ответы 1

Вы используете веб-сайт или веб-приложение (это скомпилированный проект, для которого вы развертываете DLL, или набор файлов aspx и aspx.cs, которые вы развертываете)?

Если это веб-приложение, вы развернули сборку выпуска или сборку отладки? Вы не сможете достичь точек останова при «отладке» релизной сборки, поскольку код довольно сильно оптимизирован.

У вас установлен параметр debug = true в разделе компиляции web.config? В противном случае отладка будет затруднена.

Наконец, при удаленной отладке я использую следующие шаги:

  1. Развернуть последнюю отладочную сборку файлов
  2. Страница запроса на удаленном сервере для запуска / перезапуска приложения
  3. Убедитесь, что монитор удаленной отладки VS запущен и работает на удаленном сервере.
  4. В VS перейдите в Инструменты (или Отладка) | Присоединиться к процессу ..., убедитесь, что удаленный сервер выбран в квалификаторе, и выберите w3wp.exe для правильного пула приложений и т. д.
  5. Страница запроса, которая активирует точку останова.
  6. Отлаживать!

Если точки останова полые (тонкие красные кружки, а не заполненные диски), я часто проверяю окно стека в VS, чтобы узнать, что было загружено, а что нет.

Это веб-приложение, а не веб-приложение. Все, что вы упомянули, уже сделано. Однако мой первый вопрос все еще в силе. Как получить файл .pdb для загрузки и где VS ожидает его расположения? Глядя на журнал сайта, я не вижу записываемых команд DEBUG.

Abdu 22.12.2008 19:54

Также я не могу найти файл% tmp% \ Visual Studio Web Debugger.log. Я заглянул в папку% tmp%, я заглянул в дерево папок с документами и настройками и дерево самого VS. Есть ли настройка в VS, чтобы включить это ведение журнала?

Abdu 22.12.2008 19:56

Как VS определяет, что dll и .pdb не совпадают? Отметки времени? Некоторое содержание? Они должны совпадать, потому что я копирую файлы со своего локального компьютера на удаленный сервер.

Abdu 23.12.2008 04:14

Извините за задержку: у меня обычно есть .pdb в каталоге bin веб-приложения вместе с .dll.

Zhaph - Ben Duguid 23.12.2008 11:30

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