성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] VT sequences to "CONOUT$" vs. STD_O...
[정성태] NetCoreDbg is a managed code debugg...
[정성태] Evaluating tail call elimination in...
[정성태] What’s new in System.Text.Json in ....
[정성태] What's new in .NET 9: Cryptography ...
[정성태] 아... 제시해 주신 "https://akrzemi1.wordp...
[정성태] 다시 질문을 정리할 필요가 있을 것 같습니다. 제가 본문에...
[이승준] 완전히 잘못 짚었습니다. 댓글 지우고 싶네요. 검색을 해보...
[정성태] 우선 답글 감사합니다. ^^ 그런데, 사실 저 예제는 (g...
[이승준] 수정이 안되어서... byteArray는 BYTE* 타입입니다...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>Visual Studio 2013에서의 sos.dll 사용 제한</h1> <p> 분명히 예전에 Visual Studio에서 sos 확장을 로드하고 사용했었는데요.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Visual Studio의 .NET Disassembly 창의 call 호출에 사용되는 주소의 의미는? ; <a target='tab' href='http://www.sysnet.pe.kr/2/0/1019'>http://www.sysnet.pe.kr/2/0/1019</a> </pre> <br /> 오랜만에 Visual Studio 2013에서 해봤더니, 오류의 연속입니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > !load "C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\SOS.dll" End of expression expected !load "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dll" Unrecognized escape sequence .load C:\windows\Microsoft.NET\Framework64\v4.0.30319\sos.dll Unexpected character '\' .load C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\sos.dll Unexpected character '\' .load "C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\sos.dll" Invalid expression term '.' .load "C:\windows\Microsoft.NET\Framework64\v4.0.30319\sos.dll" Unrecognized escape sequence </pre> <br /> 혹시나 해서 찾아봤더니,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > sos.dll usage in visual studio 2013 ; <a target='tab' href='http://stackoverflow.com/questions/24749213/sos-dll-usage-in-visual-studio-2013'>http://stackoverflow.com/questions/24749213/sos-dll-usage-in-visual-studio-2013</a> What’s New for the Debugger in Visual Studio 2013 ; https://msdn.microsoft.com/en-us/library/01xdt7cs.aspx </pre> <br /> <div style='BACKGROUND-COLOR: #ccffcc; padding: 10px 10px 5px 10px; MARGIN: 0px 10px 10px 10px; FONT-FAMILY: Malgun Gothic, Consolas, Verdana; COLOR: #005555'> The SOS.dll (SOS Debugging Extension) that helps you debug managed programs in WinDbg, <span style='color: blue; font-weight: bold'>is not available from the Visual Studio IDE</span>. See Debugging Managed Code Using the Windows Debugger </div><br /> <br /> 지원이 안된다고 하는군요. ^^ 좀 더 찾아보면,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > SOS.dll (SOS Debugging Extension) ; <a target='tab' href='https://docs.microsoft.com/ko-kr/dotnet/framework/tools/sos-dll-sos-debugging-extension'>https://docs.microsoft.com/ko-kr/dotnet/framework/tools/sos-dll-sos-debugging-extension</a> </pre> <br /> <div style='BACKGROUND-COLOR: #ccffcc; padding: 10px 10px 5px 10px; MARGIN: 0px 10px 10px 10px; FONT-FAMILY: Malgun Gothic, Consolas, Verdana; COLOR: #005555'> If you are using Visual Studio 2013, <span style='color: blue; font-weight: bold'>SOS.dll is supported in the Windows Debugger within Visual Studio, but not in the Immediate window of the Visual Studio debugger.</span> </div><br /> <br /> "Immediate window"에서는 지원하지 않지만, "Windows Debugger" 내에서는 된다고 나옵니다. 여기서 말하는 "in the Windows Debugger within Visual Studio" 환경이 무엇을 의미하는 걸까요? ^^ 이에 대한 힌트는 Visual Studio에 등록된 이슈에 보면 나옵니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > ".load sos" does not works - by Jegan Ravi ; <a target='tab' href='https://connect.microsoft.com/VisualStudio/feedback/details/789971/-load-sos-does-not-works'>https://connect.microsoft.com/VisualStudio/feedback/details/789971/-load-sos-does-not-works</a> </pre> <div style='BACKGROUND-COLOR: #ccffcc; padding: 10px 10px 5px 10px; MARGIN: 0px 10px 10px 10px; FONT-FAMILY: Malgun Gothic, Consolas, Verdana; COLOR: #005555'> Out current suggestion for SOS in VS is <span style='color: blue; font-weight: bold'>to use the WDK integration with VS.</span> <a target='tab' href='https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debuggers-in-the-debugging-tools-for-windows-package'>https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debuggers-in-the-debugging-tools-for-windows-package</a><br /> We will work on updating our documentation.<br /> </div><br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Debugging Environments ; <a target='tab' href='https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debuggers-in-the-debugging-tools-for-windows-package'>https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debuggers-in-the-debugging-tools-for-windows-package</a> Debugging Managed Code Using the Windows Debugger ; <a target='tab' href='https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugging-managed-code'>https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugging-managed-code</a> </pre> <br /> <div style='BACKGROUND-COLOR: #ccffcc; padding: 10px 10px 5px 10px; MARGIN: 0px 10px 10px 10px; FONT-FAMILY: Malgun Gothic, Consolas, Verdana; COLOR: #005555'> Starting with Windows Driver Kit (WDK) 8.0, the driver development environment and the Windows debugger are integrated into Microsoft Visual Studio.<br /> </div><br /> <div style='BACKGROUND-COLOR: #ccffcc; padding: 10px 10px 5px 10px; MARGIN: 0px 10px 10px 10px; FONT-FAMILY: Malgun Gothic, Consolas, Verdana; COLOR: #005555'> You can use the <span style='color: blue; font-weight: bold'>windows debuggers (WinDbg, CDB, and NTSD)</span> to debug target applications that contain managed code. To debug managed code, you must load the SOS debugging extension (sos.dll) and a data access component (mscordacwks.dll). </div><br /> <br /> 그렇습니다. WDK (Windows Driver Kit)을 설치하면, Visual Studio가 있는 경우 Windows debugger의 기능이 Visual Studio에 통합됩니다. 여러분의 컴퓨터에 WDK가 설치되어 있는지 여부는 "FILE" / "Open" / "Crash Dump..." 메뉴를 찾아보면 쉽게 알 수 있습니다. 그 메뉴가 없으면 WDK가 설치되지 않은 것이고, 있으면 설치된 것입니다.<br /> <br /> 하지만, WDK가 설치되었다고 해서 우리가 사용하는 .NET 응용 프로그램의 디버깅에서 사용할 수 있는 것은 아닙니다. (위에서도 말했지만 "Immediate window"에서는 더 이상 지원하지 않기 때문입니다.) 대신, sos.dll을 로드할 수 있는 경우는 덤프 파일(.dmp)을 디버깅할 때입니다. 이런 경우 다음과 같이 "Debugger Immediate Window"라는 별도의 창에서 하단에 명령어를 입력하는 텍스트 상자를 통해 sos를 로드할 수 있습니다.<br /> <br /> <img onclick='toggle_img(this)' class='imgView' alt='vs2013_sos_1.png' src='/SysWebRes/bbs/vs2013_sos_1.png' /><br /> <br /> 위의 화면이 바로, 문서에서 말한 "in the Windows Debugger within Visual Studio" 환경입니다.<br /> </p><br /> <br /><hr /><span style='color: Maroon'>[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
3872
(왼쪽의 숫자를 입력해야 합니다.)