Microsoft MVP성태의 닷넷 이야기
VS.NET IDE: 64. Visual Studio 2010 - 64bit 혼합 모드 디버깅 지원 [링크 복사], [링크+제목 복사],
조회: 34102
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 


Visual Studio 2010 - 64bit 혼합 모드 디버깅 지원


Visual Studio 2010에서는 디버깅에 대한 지원도 한층 강화됩니다.

Debugger Changes in Visual Studio 2010 Beta 1
; http://blogs.msdn.com/brads/archive/2009/05/28/debugger-changes-in-visual-studio-2010-beta-1.aspx

위의 글에서 소개된 디버깅 기능 중에서 "Threads Window"라는 것은 이전에 설명해 드린 "Parallel Stacks" 윈도우를 말하는 것이겠지요.

Visual Studio 2010 - Parallel Stacks
; https://www.sysnet.pe.kr/2/0/730

이번에는 "64-bit Mixed-Mode Debugging"이라는 것을 소개해드리겠습니다.

바로 저처럼 ^^ native 언어와 managed 언어를 같이 다루는 분들이라면, 척 봤을 때... 이 기능을 반가워하셨을 텐데요. 그렇습니다. 드디어 Visual Studio 2010에서는 64비트 환경에서도 혼합 모드 디버깅을 지원합니다.

의아해하시는 분들을 위해 잠시 설명드리자면.

기존(?)의 Visual Studio 2008을 x64 운영체제에 설치하였을 때, .NET EXE 프로젝트를 만들어서 아래와 같이 "Enable unmanaged code debugging" 옵션을 켜고 디버깅을 시작하면,

[그림 1: x64 운영체제에서 "Enable unmanaged code debugging" 디버깅]
vs2010_support_mixedmodedebug_on_x64_1.png

대번에, 다음과 같은 오류창을 보게 됩니다.

[그림 2: Visual Studio 2008에서의 혼합 모드 디버깅 오류]
vs2010_support_mixedmodedebug_on_x64_2.png

"
Error while trying to run project: Unable to start program '.....exe'.
The debugger does not support debugging managed and native code at the same time on this platform.
"



이를 우회적으로 해결하는 방법으로는 다음과 같이 필요할 때에만 일시적으로 "Platform target" 지정을 "x86"으로 해주면 됩니다.

[그림 3: 32비트로 빌드 후 혼합 모드로 디버깅]
vs2010_support_mixedmodedebug_on_x64_3.png

좀 불편했었지요.

그런데, 이것이 Visual Studio 2010에서는 깨끗하게 해결이 되었습니다.

아래는 Visual Studio 2010 Beta1에서 본 mixed-mode 디버깅 상태를 보여주고 있습니다.

[그림 4: Visual Studio 2010에서 본 혼합 모드 디버깅 지원]
vs2010_support_mixedmodedebug_on_x64_4.png

그러고 보니... 예전에도 이와 비슷한 글을 쓴 적이 있군요. ^^

VS.NET 2005 - x64 환경에서의 mixed 디버깅 환경 구성
; https://www.sysnet.pe.kr/2/0/485




마치기 전에 아직 못 보신 분들을 위해 부가 소식을 전해드리면. ^^ (2번째 그림이 마음에 드실 겁니다.)

Having Fun with the New Editor in VS 2010
; http://blogs.msdn.com/kirillosenkov/archive/2009/07/14/having-fun-with-the-new-editor-in-vs-2010.aspx





[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 4/10/2022]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 106  107  108  109  110  111  [112]  113  114  115  116  117  118  119  120  ...
NoWriterDateCnt.TitleFile(s)
11157정성태3/22/201722691.NET Framework: 648. Dictionary<TKey, TValue>를 deep copy하는 방법파일 다운로드1
11156정성태3/21/201723963.NET Framework: 647. 닷넷(C#) 코드로 인증서 요청 코드 만드는 방법파일 다운로드1
11155정성태3/21/201724235.NET Framework: 646. SslStream의 CipherAlgorithm 선택이 가능할까요?파일 다운로드1
11154정성태3/5/201730554VC++: 109. DLL에서 STL 객체를 인자/반환값으로 갖는 함수를 제공할 때, 그 함수를 외부에서 사용하는 경우 비정상 종료한다면? [2]파일 다운로드1
11153정성태3/5/201730067VC++: 108. DLL에 정의된 C++ template 클래스의 복사 생성자 문제파일 다운로드1
11152정성태3/4/201724293VC++: 107. VirtualAlloc, HeapAlloc, GlobalAlloc, LocalAlloc, malloc, new의 차이점 [1]파일 다운로드1
11151정성태3/3/201724497VC++: 106. DLL 개발자가 주의해야 할 Secure CRT 함수 사용 [1]파일 다운로드1
11150정성태2/21/201720449.NET Framework: 645. Visual Studio Fakes 기능에서 Shim... 클래스가 생성되지 않는 경우 [5]
11149정성태2/21/201724290오류 유형: 378. A 64-bit test cannot run in a 32-bit process. Specify platform as X64 to force test run in X64 mode on X64 machine.
11148정성태2/20/201723394.NET Framework: 644. AppDomain에 대한 단위 테스트 시 알아야 할 사항
11147정성태2/19/201721835오류 유형: 377. Windows 10에서 Fake 어셈블리를 생성하는 경우 빌드 시 The type or namespace name '...' does not exist in the namespace 컴파일 오류 발생
11146정성태2/19/201721109오류 유형: 376. Error VSP1033: The file '...' does not contain a recognized executable image. [2]
11145정성태2/16/201722550.NET Framework: 643. 작업자 프로세스(w3wp.exe)가 재시작되는 시점을 알 수 있는 방법 - 두 번째 이야기 [4]파일 다운로드1
11144정성태2/6/201725957.NET Framework: 642. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (부록 1) - CallingConvention.StdCall, CallingConvention.Cdecl에 상관없이 왜 호출이 잘 될까요?파일 다운로드1
11143정성태2/5/201723493.NET Framework: 641. [Out] 형식의 int * 인자를 가진 함수에 대한 P/Invoke 호출 방법파일 다운로드1
11142정성태2/5/201731346.NET Framework: 640. 닷넷 - 배열 크기의 한계 [2]파일 다운로드1
11141정성태1/31/201725812.NET Framework: 639. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (4) - CLR JIT 컴파일러의 P/Invoke 호출 규약 [1]파일 다운로드1
11140정성태1/27/201721190.NET Framework: 638. RSAParameters와 RSA파일 다운로드1
11139정성태1/22/201724097.NET Framework: 637. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (3) - x64 환경의 __fastcall과 Name mangling [1]파일 다운로드1
11138정성태1/20/201722524VS.NET IDE: 113. 프로젝트 생성 시부터 "Enable the Visual Studio hosting process" 옵션을 끄는 방법 - 두 번째 이야기 [3]
11137정성태1/20/201720672Windows: 135. AD에 참여한 컴퓨터로 RDP 연결 시 배경 화면을 못 바꾸는 정책
11136정성태1/20/201720297오류 유형: 375. Hyper-V 내에 구성한 Active Directory 환경의 시간 구성 방법 - 두 번째 이야기
11135정성태1/20/201721127Windows: 134. Windows Server 2016의 작업 표시줄에 있는 시계가 사라졌다면? [1]
11134정성태1/20/201728707.NET Framework: 636. System.Threading.Timer를 이용해 타이머 작업을 할 때 유의할 점 [5]파일 다운로드1
11133정성태1/20/201724787.NET Framework: 635. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (2) - x86 환경의 __fastcall [1]파일 다운로드1
11132정성태1/19/201736611.NET Framework: 634. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (1) - x86 환경에서의 __cdecl, __stdcall에 대한 Name mangling [1]파일 다운로드1
... 106  107  108  109  110  111  [112]  113  114  115  116  117  118  119  120  ...