오래 전부터 요구되었던 32비트 및 64비트 C++ 코드에서 동작하는 에디트 and 컨티뉴(EnC) 기능이 Microsoft에 의해서 구현되었다. VS2015 에서는 기본적으로 유효하다. VS2013에서는 32비트 코드용으로 기본적인 형식으로 지원되고 있었지만, 유효하게 하면 최신 기능을 모두 이용하지 못하는 상태였다. EnC에 의해 개발자는 디버거에서 실행 중인 프로그램의 코드를 편집 가능하게 된다. 프로그램의 실행을 재개하면 다시 컴파일을 하지 않아도 변경 결과를 확인할 수 있다.

 

이번 VS2015 에서는 진단 도구 창과 비동기 코드를 디버깅 하기 위한 확장 콜 스택 등, 다른 기능에 대한 액세스를 잃지 않는 EnC를 사용할 수 있다. 또한 개선점으로 64비트 코드에서도 에디트 and 컨티뉴를 사용 할 수 있게 되었다. 이는 VS2015의 새 기능이다.

 

새로 설치한 VS2015 RTM 상에서 작성한 신규 프로젝트에서는 기본 값으로 EnC가 유효하게 되어 있지만 경우에 따라서는 EnC를 사용를 할 수 없는 경우도 있다. 아래 항목이 설정 되어 있어야 EnC를 사용할 수 있다.

• 디버깅 정보의 포맷을 “Program Database for Edit and Continue(/Zi)"으로 설정해야 한다.

• 인크리멘탈 링크의 효율화에 “Yes(/INCREMENTAL)"를 설정해야 한다.

Debug->Option "Native Edit and Continue"를 유효하게 해야 한다.

첫 두 개의 항목은 프로젝트의 설정에서 적용한다. 세 번째 항은 Debug| Option 아래에 있다.

 

불행히도 제한이 남아 있어서 EnC가 기대대로 동작하지 않는 곳이 몇 가지 있다. VS2015 RTM 사용자에게 영향을 미칠 것도 있지만, 장래 VS2015의 업데이트로 대처할 예정이다. 먼저 꼽히는 것은 Windows 스토어용으로 컴파일된 바이너리가 EnC를 지원하지 않는 것이다. 마찬가지로 /DEBUG:FASTLINK로 컴파일 된 이진 파일도 지원하지 않는다. 최적화를 유효하게 한 컴파일된 바이너리에도 이와 같은 제한이 있다.

 

EnC를 사용하여 파일을 편집하는 경우 현행의 VC2015에서는 파일 편집 횟수가 제한되어 있다. 이것을 넘어서 편집 작업을 행했을 경우에는 예약 공간이 없음을 나타내는 오류 메시지가 표시된다. 이 예약 공간의 사이즈는 지금은 고정이지만 개발 팀은 이를 설정 가능하게 하여 보다 개발자 친화적으로 하는 것을 계획 중이다.

 

64비트 코드에서 EnC를 활용하려면 v140 도구 집합을 사용할 필요가 있다. 마찬가지로 32비트 코드로 EnC를 이용하는 경우는 v120 도구 세트가 대상이다.

 

 

출처http://www.infoq.com/jp/news/2015/08/enc-vs2015

 

 

저작자 표시
신고
by 흥배 2015.10.01 08:00
| 1 |

티스토리 툴바