[IDE] 비주얼 스튜디오 어셈블리코드 확인하기 (DisAssembly)

C나 C++과 같은 고급 프로그래밍 언어는 컴파일을 거쳐 어셈블리가 됩니다. C나 C++와 같은 매우 민감한 언어들은 전혀 예상하지 못한 에러들이 자주 발생합니다. 해결방안에 대한 힌트를 찾을 때 상황에 따라서는 어셈블리 코드를 직접 확인해야 할 경우가 있습니다. Visual Studio에서는 컴파일된 어셈블리 코드를 직접 확인할 수 있는 기능을 제공합니다.

 

어셈블리 창 사용 설정 확인

도구 -> 옵션을 클릭하고 옵션창에서 디버깅 -> 일반에 들어간 뒤 주소 수준 디버깅 사용 체크박스가 체크되어있는지 확인합니다. 이것이 체크되어 있어야 디스 어셈블리 기능의 사용이 가능합니다.

 

어셈블리 코드 확인(DisAssembly)

디스 어셈블리 창을 보려면 분기점을 설정하고 F5를 눌러 디버그 모드로 실행해야 합니다. 만약 디버그 방법을 모르신다면 아래의 글을 참고해주세요.

[IDE] 비주얼 스튜디오(Visual Studio) 디버깅하는 법

 

디버그 모드로 실행시켰다면 디버그 -> 창 -> 디스 어셈블리를 실행시켜줍니다. 단축키로는 Alt + 8입니다.

 

위와 같이 디스어셈블리 창에서 어셈블리 코드들을 확인하실 수 있습니다.

 

디스 어셈블리 활용하기

디스 어셈블리 창에 우클릭을 하면 위의 그림과 같이 나오게 됩니다. 여기서 다양한 설정을 하실 수 있습니다. 우선 기본 세팅으로 디스 어셈블리가 실행되었다면 오리지널 어셈블리 코드가 아닌 Visual Studio에서 가독성 향상을 위해 여러 가지 가공한 어셈블리 코드가 나오게 됩니다. 이렇게 가공된 코드가 불편한 부분이 있다고 생각된다면 체크박스를 몇 개 해제하시거나 반대로 추가하셔도 됩니다. 또한 이 곳에서 어셈블리 코드도 디버그를 할 수 있으니 필요하다면 요긴하게 활용하시면 되겠습니다. 디버그 방법이나 조사식 활용방법은 같습니다.

댓글(2)

  • GE
    2021.01.25 23:35

    질문 좀 여쭤봐도 될까요?
    저는 디스어셈블리(D)라는 창이 아예 안 보입니다.
    버전이 달라서 그런 건가요?

    • 2021.01.25 23:38 신고

      비쥬얼 스튜디오 2019를 기준으로 작성되었습니다. 버전이 다르다면 창 위치가 다를수도 있을것 같아요. 없지는 않을겁니다.

Designed by JB FACTORY