Visual Studio 2008 - как перейти к (F11) отраженному коду
Что нужно сделать, чтобы иметь возможность войти в (F11) отраженный код.
Я создаю объект с помощью отражения:
myObject.GetType (). GetConstructor (). Invoke (myParams)
и я хочу пойти в код конструктора. Если я нажимаю F11, он просто пропускает код конструктора;(
но в то же время, если я поставлю точку останова на ctor и нажму F5 - она достигнет этой точки останова.
Итак, что я могу сделать, чтобы войти в отраженный код?
4 ответа
Просто мой код может быть то, что вызывает проблемы.
В Visual Studio:
- Сервис -> Параметры
- Отладка (слева)
- Снимите флажок "Включить только мой код (только управляемый)" справа.
Я не могу гарантировать, что это является причиной проблемы, но это мой лучший выбор.
Я полагаю, что проблема в том, что технически нет кода, на который можно было бы перейти. Предполагая, что вы имеете дело с скомпилированным модулем или библиотекой, вы просто не можете войти в него, так как он скомпилирован. Даже если вы вступаете во что-то, что написали, объект генерируется в памяти, поэтому компиляция, вероятно, не имеет представления о том, откуда поступают эти инструкции.
То, что сказал Совиут: это скомпилированный код, вы не можете войти в это. Но я видел, как это работает при генерации классов с использованием CodeDOM и записи их на диск и компиляции CodeDOM в Debug. Затем вы можете вступить в сгенерированные классы. Но, очевидно, это очень конкретный случай.
Возможно, вы захотите использовать Reflector, чтобы увидеть, что происходит в конструкторе, но это статическое представление о ситуации.
Раньше у меня была такая же проблема, но после некоторого исследования я понял, что проблема была в JustMyCode. Обычно это отключает большинство встроенных и отладочных инструментов. Все прошло нормально после удаления. Если вам нравится JustMyCode, используйте его в качестве инструмента отладки.