좀 늦었군요.
VS.NET 이 나온 시점에야 이 글을 쓰게 되었네요. ^^
VC++ 원격 디버깅 방법은 MSDN Library 에 나오긴 합니다.
저같은 경우에는 아예 전형적인 단계를 밟는데요.
----- 아래에서의 환경설정을 위한 가정 ----
디버깅하려는 프로그램 명 : test.exe ( 이때, test.exe 는 디버깅모드로 컴파일되어 있어야 합니다. )
원격지 컴퓨터 IP : 192.168.0.2
원격지 컴퓨터에 test.exe 가 설치된 경로 : C:\temp\test.exe
Debugger VC++ 이 설치된 컴퓨터 IP : 192.168.0.1
----- 원격지 컴퓨터의 설정사항 -----
1.첨부된 rdbgtool.zip 을 다운로드 받습니다.
해당 파일을 디버깅하려는 원격지 컴퓨터에서 압축을 해제합니다.
2. 압축해제되어 나온 msvcmon.exe 을 실행합니다.
3. 실행하면 나오는 대화창에서 "Settings..." 버튼을 클릭합니다.
4. "Win32 Network (TCP/IP) Settings" 대화창이 나오면, 거기서
자신의 컴퓨터 ( Debugger VC++ 이 설치된 컴퓨터 ) 의 IP ( 192.168.0.1 ) 를 입력합니다.
5. "OK" 버튼을 누른 다음, "Connect" 버튼을 눌러서, 연결을 대기합니다.
---- Debugger VC++ 이 설치된 컴퓨터의 설정사항 ----
1. 프로젝트 파일을 엽니다.
2. "Build / Debugger Remote Connection" 메뉴를 선택합니다.
3. 대화창 "Remote Connection" 에서 "Network (TCP/IP)" 를 선택합니다.
4. "Settings..." 버튼을 누릅니다.
5. msvcmon.exe 가 실행되고 있는 컴퓨터의 컴퓨터 이름 또는 IP ( 192.168.0.2 ) 를 입력합니다.
6. "OK" 버튼을 누릅니다.
7. "Project / Settings..." 메뉴를 선택합니다.
8. 대화창에서 "Debug" 탭을 선택합니다.
9. General 카테고리상태에서 맨 아래의 "Remote executable path and file name" 에디트 박스에 값을 넣습니다. 이 값은, 원격지 컴퓨터에 설치된 디버깅하려는 실행파일의 경로를 넣어야 합니다. 이 경우에는, C:\temp\test.exe 라고 입력해야 합니다.
10. 이후로는, 일반 디버깅하듯이 F5 키를 눌러서 디버깅을 진행하시면 됩니다.
MFC 가 포함되는 경우에는, 원격지 컴퓨터에 다음과 같은 파일들을 System 폴더 또는 설치된 폴더( C:\temp ) 에 복사해 두는 것이 좋습니다.
MFC42.MAP
MFC42.PDB
MFC42D.DLL
MFC42D.MAP
MFC42D.PDB
MFCO42D.DLL
MFCO42D.MAP
MFCO42D.PDB
MSVCP60D.DLL
MSVCP60D.PDB
MSVCRTD.DLL
MSVCRTD.PDB
원격 디버깅 기능과 함께, 터미널 서비스나 NetMeeting Desktop 공유기능을 활용하게 되면 금상첨화라고 할 수 있을 것입니다. ^^
| Title |
| 11901 | 정성태 | 5/21/2019 | 27141 | 오류 유형: 538. msbuild 오류 - Could not find a part of the path '%LOCALAPPDATA%\Temp\2\.NETFramework,Version=v4.0.AssemblyAttributes.cs' | |
| 11900 | 정성태 | 5/18/2019 | 25939 | 오류 유형: 537. "sfc /scannow" 실행 중 시스템이 부팅되는 현상 | |
| 11899 | 정성태 | 5/17/2019 | 25900 | Linux: 9. Linux에서 윈도우의 OutputDebugString 대신 사용할 수 있는 syslog [1] | |
| 11898 | 정성태 | 5/16/2019 | 27266 | VC++: 130. C++ string의 c_str과 data 함수의 차이점 [3] | |
| 11897 | 정성태 | 5/16/2019 | 32845 | 오류 유형: 536. Visual Studio - "Developer Pack"을 설치했는데도 "대상 프레임워크" 목록에 나오지 않는 경우 [2] | |
| 11896 | 정성태 | 5/15/2019 | 30551 | 개발 환경 구성: 440. C#, C++ - double의 Infinity, NaN 표현 방식 | 1 |
| 11895 | 정성태 | 5/12/2019 | 27039 | .NET Framework: 832. ML.NET Model Builder - 회귀(Regression), 다중 분류(Multi-class classification) 예제 | 1 |
| 11894 | 정성태 | 5/10/2019 | 29228 | VS.NET IDE: 135. Visual Studio - ML.NET Model Builder 소개 [5] | |
| 11893 | 정성태 | 5/10/2019 | 24679 | 오류 유형: 535. C# 6.0 이상의 문법을 컴파일 시 오류가 발생한다면? | |
| 11892 | 정성태 | 5/10/2019 | 23859 | 웹: 38. HTTP Cookie의 expires 시간 형식(RFC7231) | |
| 11891 | 정성태 | 5/9/2019 | 27935 | .NET Framework: 831. (번역글) .NET Internals Cookbook Part 12 - Memory structure, attributes, handles | |
| 11890 | 정성태 | 5/8/2019 | 24507 | 개발 환경 구성: 439. "Visual Studio Enterprise is required to execute the test." 메시지와 관련된 코드 기록 | |
| 11889 | 정성태 | 5/8/2019 | 23192 | 개발 환경 구성: 438. mstest, QTAgent의 로그 파일 설정 방법 | |
| 11888 | 정성태 | 5/8/2019 | 42572 | .NET Framework: 830. C# - 비동기 호출을 취소하는 CancellationToken의 간단한 예제 코드 [1] | 1 |
| 11887 | 정성태 | 5/8/2019 | 28098 | .NET Framework: 829. C# - yield 문을 사용할 수 있는 메서드의 조건 | |
| 11886 | 정성태 | 5/7/2019 | 24825 | 오류 유형: 534. mstest.exe 실행 시 "Visual Studio Enterprise is required to execute the test." 오류 [2] | |
| 11885 | 정성태 | 5/7/2019 | 22809 | 오류 유형: 533. mstest.exe 실행 시 "File extension specified '.loadtest' is not a valid test extension." 오류 발생 | |
| 11884 | 정성태 | 5/5/2019 | 27244 | .NET Framework: 828. C# DLL에서 Win32 C/C++처럼 dllexport 함수를 제공하는 방법 - 두 번째 이야기 | |
| 11883 | 정성태 | 5/3/2019 | 32913 | .NET Framework: 827. C# - 인터넷 시간 서버로부터 받은 시간을 윈도우에 적용하는 방법 | 1 |
| 11882 | 정성태 | 5/2/2019 | 29279 | .NET Framework: 826. (번역글) .NET Internals Cookbook Part 11 - Various C# riddles | 1 |
| 11881 | 정성태 | 4/28/2019 | 29570 | 오류 유형: 532. .NET Core 프로젝트로 마이그레이션 시 "CS0579 Duplicate 'System.Reflection.AssemblyCompanyAttribute' attribute" 오류 발생 | |
| 11880 | 정성태 | 4/25/2019 | 25715 | 오류 유형: 531. 이벤트 로그 오류 - Task Scheduling Error: m->NextScheduledSPRetry 1547, m->NextScheduledEvent 1547 | |
| 11879 | 정성태 | 4/24/2019 | 35393 | .NET Framework: 825. (번역글) .NET Internals Cookbook Part 10 - Threads, Tasks, asynchronous code and others | 2 |
| 11878 | 정성태 | 4/22/2019 | 29353 | .NET Framework: 824. (번역글) .NET Internals Cookbook Part 9 - Finalizers, queues, card tables and other GC stuff | 1 |
| 11877 | 정성태 | 4/22/2019 | 30179 | .NET Framework: 823. (번역글) .NET Internals Cookbook Part 8 - C# gotchas | 1 |
| 11876 | 정성태 | 4/21/2019 | 26201 | .NET Framework: 822. (번역글) .NET Internals Cookbook Part 7 - Word tearing, locking and others | 1 |