Tcl에는 디버그시 도움이 되는 info 커맨드가 있습니다. (Tk에는 winfo 커맨드가 있습니다.) info 커맨드는, Tcl 인터프리터 내부의 각종 정보를 조사하는 데 사용합니다.
info 커맨드 설명
info args procname | procname으로 지정한 프로시져의 인자를 리턴합니다. |
info body procname | procname으로 지정한 프로시져의 body를 리턴합니다. |
info cmdcount | 인터프리터가 생성된후의 실행된 커맨드 횟수를 리턴합니다. |
info commands ?pattern ? | pattern으로 지정한 패턴의 커맨드 이름 혹은 프로시져 이름을 현재의 namespace로부터 검색하여 리턴합니다. pattern을 생략시는 모든 커맨드를 리턴합니다. pattern에는 Foo::print* 와 같이 namespace를 지정하는 것도 가능합니다. pattern에는 glob 스타일의 정규표현이 사용될 수 있습니다. |
info complete command | command로 지정한 커맨드가 정상 종료인지 아닌지를 조사합니다. 정상종료는 1, 그렇지 않다면 0을 리턴합니다. |
info default procname arg varname | procname으로 지정한 프로시져의 arg로 지정한 인자가 디폴트(default) 인자를 갖는지 아닌지를 검사합니다. 디폴트 인자를 갖는다면 1을, 그렇지 않다면 0을 리턴합니다. 디폴트 인자의 값은 varname에 저장됩니다. |
info exists varname | varname으로 지정한 변수가 존재하는지 아닌지를 검사합니다. 존재하면 1을, 그렇지 않다면 0을 리턴합니다. |
info globals ?pattern ? | pattern으로 지정한 패턴의 글로벌 변수명을 검색하여 리턴합니다. pattern이 생략되면 모든 글로벌 변수명을 리턴합니다. |
info hostname | 실행중인 호스트의 이름을 리턴합니다. |
info level ?number ? | 현재 프로시져의 스택 레벨을 리턴합니다. 0은 탑(top)레벌의 의미입니다. number에 수를 지정하면 그 스택레벨에서 호출된 프로시져의 이름과 인자를 리턴합니다. |
info library | Tcl 라이브러리의 패스를 리턴합니다. 변수 tcl_library로 패스를 설정할 수 있습니다. |
info locals ?pattern ? | pattern으로 지정한 패턴의 지역변수를 검색하여 리턴합니다. pattern을 생략한 경우는 모든 지역변수를 리턴합니다. |
info nameofexecutable | 어플리케이션의 바이너리 이름을 풀패스로 리턴합니다. |
info patchlevel | Tcl의 패치 레벨을 리턴합니다. tcl_patchLevel과 같은 값입니다. |
info procs ?pattern ? | pattern으로 지정한 패턴의 프로시져 이름을 검색하여 리턴합니다. pattern을 생략시 모든 프로시져의 이름을 리턴합니다. |
info script | 실행중인 스크립트의 이름을 리턴합니다. 빈 경우도 있습니다. |
info sharedlibextension | 공유 라이브러리의 확장자를 리턴합니다. (예: dll) |
info tclversion | Tcl의 버전을 리턴합니다. 변수 tcl_version과 같은 값입니다. |
info vars ?pattern ? | pattern으로 지정한 패턴의 변수명을 현재 namespace로부터 검색하여 리턴합니다. pattern을 생략시 모든 변수명을 리턴합니다. 검색 대상의 변수명에는 현재 스코프의 지역변수도 포함됩니다. pattern에느 Foo::option* 과 같이 namespace를 지정하는 것도 가능합니다. |