Не может видеть параметры при переходе через источник .NET 4.0 в C # / VS2010 - PullRequest
5 голосов
/ 24 октября 2010

Когда я вхожу в источник .NET (пошаговое переключение источника .NET включено в параметрах отладки, а параметр «Просто мой код» отключен), по некоторым причинам в окнах Autos и Watch в VS2010 я не могу просматривать параметры в .NET Frameworkфункции в часах или автоматических панелях.Однако я могу видеть локальные переменные.Почему это так?

Обновление: это отладочная 64-битная (x64) сборка без оптимизации.Там нет ошибки, я просто не могу "наблюдать" параметры в таких функциях, как:

// Enumerable.cs

public class Lookup<TKey, TElement> : IEnumerable<IGrouping<TKey, TElement>>, ILookup<TKey, TElement>{
...
    internal static Lookup<TKey, TElement> Create<TSource>(IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer) {

Обновление 2: Кажется, что по умолчанию установлена ​​только сборка выпуска .NET 4.0 framework.Вы все еще можете войти в него, но вы можете не увидеть некоторые параметры функции и локальные переменные (и установить точки останова в некоторых строках).Думаю, мне действительно хотелось бы использовать отладочную сборку платформы .NET 4.0, чтобы я мог видеть все параметры, локальные объекты и ставить точки останова на всех строках.Как мне установить это, если у меня уже установлена ​​VS2010 Premium?

Ответы [ 4 ]

5 голосов
/ 24 октября 2010

Возможно, вам нужно отключить оптимизацию .

Редактирование: Михаил Голдштейн - автор вопроса:

Вот полные инструкции с этого URL:

  1. Перед запуском VS2010 должна быть задана следующая переменная среды:

    set COMPLUS_ZapDisable = 1

  2. Процесс размещения VS необходимо отключить:

    Чтобы отключить процесс хостинга в VS2010

    1.Откройте проект в Visual Studio.2. В меню «Проект» выберите «Свойства».3. Перейдите на вкладку «Отладка».4. Снимите флажок Включить процесс размещения Visual Studio.

0 голосов
/ 09 апреля 2016

С http://reflectorblog.red -gate.com / 2012/03 / debugging-debugging-experience /

Создайте файл в исполняемом каталоге с именем YourAppName.ini, где будет заменено YourAppNameс именем файла вашей сборки.Поэтому, если у вас есть SampleApp.exe, вы создадите SampleApp.ini.

Содержимое этого ini-файла должно содержать

[.NET Framework Debugging Control]
GenerateTrackingInfo=1
AllowOptimize=0

Сохраните файл и начните отладку.При этом вам может не потребоваться отключать процесс VS Studio Hosting.Отключение процесса хостинга, как предлагали другие, приводит к прерывистым сбоям при использовании окна Immediate, которое является неотъемлемой частью процесса отладки.

Счастливая отладка!

0 голосов
/ 07 апреля 2011

Вам нужно сбросить COMPLUS, если вы хотите снова включить оптимизированную отладку. Это рекомендуется? Вы сбрасываете следующим образом

set COMPLUS_ZapDisable=0
0 голосов
/ 24 октября 2010

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

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