29

我正在浏览我的一个程序集的一些 IL(通过 ILDasm),我注意到我的所有方法都以 nop 指令开头。

有谁知道这是为什么?

4

1 回答 1

43

程序集是在调试模式下编译的。Nop指令不做任何事情(即没有副作用),而是作为放置断点的方便指令。

提示

如果您需要一个位置来放置额外的断点以进行调试,您可以Nop通过添加一对空括号来强制在调试版本中包含 a ,例如

_grid.PreviewMouseRightButtonDown += (sender, e) =>
{
    _isRightMouseDown = true;

    RowColumnIndex cell = _grid.PointToCellRowColumnIndex(e);
    {} //<------ Adding a Nop allows a breakpoint here.
};
于 2011-01-04T03:25:53.550 回答