2011-01-04 6 views

답변

27

어셈블리가 디버그 모드로 컴파일되었습니다. Nop 명령어는 아무 것도 (즉 부작용이 없음) 있지만 중단 점을 배치하는 편리한 명령어로 작동합니다.

당신이 디버깅 목적으로 추가 중단을위한 장소가 필요하면, 당신은 빈 중괄호 한 쌍을 추가하여 디버그 빌드에서 Nop의 포함을 강제 할 수, 예를 들어,

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

    RowColumnIndex cell = _grid.PointToCellRowColumnIndex(e); 
    {} //<------ Adding a Nop allows a breakpoint here. 
}; 
+2

그들은 사이클을 낭비합니까? – YellPika

+4

@YellPika 예. 그렇습니다. 그들은 무의미한 사이클을 낭비합니다. 디버그 빌드를 느리게 만드는 요소 중 하나입니다. –

+0

JIT 컴파일러는 네이티브 명령 흐름에서 이들을 최적화해야합니다. – devstuff