일부 COM 구성 요소를 디버깅하려고하는데 CoCreateInstance에 대한 호출에서 CLSID 및 IID를 추적하려고합니다.windbg에 GUID를 표시 할 수 있습니까?
windbg에서 GUID를 표시하는 방법을 잘 모르겠습니다. 그 어떤 포인터.
일부 COM 구성 요소를 디버깅하려고하는데 CoCreateInstance에 대한 호출에서 CLSID 및 IID를 추적하려고합니다.windbg에 GUID를 표시 할 수 있습니까?
windbg에서 GUID를 표시하는 방법을 잘 모르겠습니다. 그 어떤 포인터.
"디스플레이 유형"명령을 사용하십시오 documentation를 참조 자세한 내용은
dt GUID [address-of-guid]
합니다.
로컬 변수 (현재있는 스택 프레임의 로컬 변수)에있는 경우 dv /V
을 사용하여 모든 로컬 변수를 덤프하십시오. 이것은 단지 일반 변수 (가 글로벌 한 경우에도) 인 경우
은 그때 당신은 항상 할 수있는, COM에 대해 아무것도 알고 있지만하지 않습니다
ALT + 2 시계 창을 표시하고, 이 변수의 이름, 예를 들어
blahblah.dll를 입력! GUID
당신은 그것에 대한 기호를해야합니다, 아마도 t 소스 모드 aswell에있을 필요가있다. 이것은 dv/dt보다 약간 좋기 때문에 계속 입력 할 필요가 없습니다. 주소도 입력 할 수 있다고 생각합니다. 블라 브라를 넣지 않으면주의하십시오! 때때로 모든 모듈에서 guid라고 불리는 것을 검색 할 때 windbg이 몇 초 동안 멈출 수 있습니다.
포인터를 보내 주셔서 감사합니다.하지만이 명령을 약간 조정해야합니다. 다음 작업을 수행 할 것입니다 dt nt! _GUID address-of-guid. – anand
네, 네가 그걸 말하지 않으면! 로드 된 모든 모듈을 찾을 때까지 검색합니다. 그리고, 네, GUID가 _GUID로 변하는 것 같아요. 좋은 캐치. –