[Debugging Toolbox]Read Me

https://blogs.msdn.com/debuggingtoolbox/archive/2007/03/18/read-me.aspx

글 : Roberto Alexis Farah
번역 : 이태화
안녕하세요 이번에는 WinDbg Script 에 대한 블로그를 번역하기로 하였습니다.

Roberto 에게 컨텍하여 번역을 해도 좋냐고 물어보니 흔쾌히 허락해 주는군요 ^^ 좀더 많은 정보의 공유를 위해서 좋은 블로거를 만나게 되면 한국어로 번역하도록
노력하겠습니다. ^^

------------------------------아래---------------------------------------------

저의 이름은 Roberto Alexis Farah 이고 Microsoft 의 Developer support 의 Support  Escalation Engineer 입니다. 저는 windbg 로 디버깅을 하지않고 이 블로그와 다른곳에
소개한 windbg script 들과 비슷한 다른 툴들을 사용합니다. 또한 저는 다른 블로그에 포르투칼어를 사용하여 글을 쓰기도 합니다.

이 블로그는 여러분의 debugging 을 도와주고 정보를 제공하고자 합니다. 저는 debugging toolbox 를 통해서 저에게 도움이 되었던 windbg script 들을 제공할 것이고 script 들은
계속 개발될 것입니다.

Windbg programming language 는 perl 과 비슷합니다.

script 을 사용하기 위해서는 windbg 를 다운받아야 하며 public symbol 을 설정해야 합니다. 모든 script 들이 symbols 들을 요청하지는 않으나 여러분의 debugging 에 도움을 줄 것입니다.

 

아래의 windbg command 를 사용하여 script 를 실행시킬 수 있습니다.

$$>

 

저는 기본 디렉토리로 windbg 폴더 내의 MyScripts 를 사용합니다. 여러분이 다른 디렉토리나 다른 파일이름을 원한다면 변경할 수 있습니다.

 

저의 machine 에 script 들은 다음 위치에 있습니다.
C:\Debuggers\MyScripts

 

여러분들은 script 가 command 와 extension 들과 비슷하다고 생각할 수 있습니다. 여러분에게 windbg script 를 어떻게 만드는지를 가르치는게 저의 목표는 아닙니다. 여러분이 배우기를 원한다면 windbg 문서를 확인해야 할것입니다. 여러분이 소스코드를 가지고 있더라도 command 들은 모든것을 알려주지 않습니다. 이유는 아래에 있습니다.

- 저는 우리 제품과 연관이 있는 pointer 나 offset 을 사용할 수도 있고 그것들을  설명하지 않을 것입니다. 그것들은 변경될 수 있고 script 를 망가뜨릴 수 있습니다.

- 저는 명확히 문서화 되어 있지 않은 command 들을 사용할 수도 있습니다.

- 저는 저의 기술을 사용해서 script 의 한계를 넘어서 작업을 하기도 합니다. 저는 때때로 전혀 새로운 command 나 명령으로 script 를 만들기도 합니다.

- 보안 문제 때문에 소스 코드를 나타내지 않는 경우도 있습니다.

 

여러분이 가지고 있는 공통 문제

- 문법 오류 : line break 를 잘못 할 경우

- custom alias 를 사용할때 script 를 두번 실행시켰을 경우 이것은 alias 사용에 문제가 있습니다. 이것은 미래에 해결될 것이고 나중에는 여러번 실행 시켜도 문제가 없을 것입니다.

- 몇가지 신기한 script 들은 $$>< 가 아닌 $$< 을 사용합니다. 올바른 결과를 얻지 못한다면 header file comment 를 확인해야 합니다.

- "64 bit 에서 동작해야 한다." 라는 문구는 64Bit 에서 test 해보지 않았으나 저의 생각에 동작해야 한다는 것입니다.

- 몇몇 script 들은 몇몇 pruduct 나 os update 의 제한된 version 에 의존합니다.

- 다른 Windows version 에는 test 하지 못하였기 때문에 다른 OS 에서 문제가 발생할  수 있습니다. script 들은 대부분의 경우 XP SP2 나 Vista 에서 만들어 졌습니다.

- script 가 심볼을 요구합니다. script 를 실행키시기 전에 .reload /f command 을 실행합니다. script 를 실행시키기 전에 source code 의 Header 정보를 읽어야 합니다.

source 를 복사하는 과정에서 추가적인 space 가 사라질 수 있습니다.

 

여러분이 문제점이나 버그를 찾는다면 저에게 알려주기 바랍니다.

여러분이 script 를 위한 idea 가 생각난다면 저에게 알려줬으면 합니다. 그러나 제가 모든 제안을 구현하지는 못할수도 있습니다.

 

여러분이 저의 작은 장난감을 즐겼으면 좋겠습니다.