Почему сгенерированный код IL начинается с Nop?
я копался в некоторых IL одной из моих сборок (через ILDasm), и я заметил, что все мои методы начинаются с nop
инструкция.
кто-нибудь знает почему?
1 ответов
сборка была скомпилирована в отладочном режиме. Nop
инструкции ничего не делают (i.E не имеют побочных эффектов), но действуют как удобная инструкция для установки точки останова.
Совет
Если вам нужно место для дополнительной точки останова для целей отладки, вы можете принудительно включить Nop
в отладочной сборке путем добавления пары пустых фигурных скобок, например
_grid.PreviewMouseRightButtonDown += (sender, e) =>
{
_isRightMouseDown = true;
RowColumnIndex cell = _grid.PointToCellRowColumnIndex(e);
{} //<------ Adding a Nop allows a breakpoint here.
};