한 프로그램의 symbol table을 다른 스크립트에서 사용하기?
하나의 프로그램을 만들고, linker 등을 통해서 symbol table, const table, enum table 등의 정보를 담고 있는 파일을 만들수 있다고 가정한다면(아래와 같이)
> cat symbol.out
general_io 0x2345
max_count 0x0389
C_MAX 1024
C_LENGTH 256
RED 0
GREEN 1
BLUE 2
...
이 정보를 사용해서 스크립트 내에서 그 프로그램의 상태를 보거나 조작하고 싶은데 어떻게 해야 할지 감이 안오네요?
스크립트에서는 다른 쓰레드(아님 프로세스)로 위 프로그램을 돌리고, 자신도 돌고 있다가 적절한 시점에서 어떤 변수의 값을 체크하거나 어떤 함수가 불렸는지 파악할려고 합니다.
Mock 과 비슷한 기능이 필요할 것 같은데요....
목적도 unit test 와 거의 같은 것이고요. 하지만 다른 점은 위 프로그램은 그 자체로 하나의 셑(Set)이고 스크립트로는 그냥 감시(모니터링)만 한다는 것이죠. 어떻게 보면 그냥 gdb 의 기능인데 delay 등의 많은 부가기능이 필요한 점은 다르겠습니다.
gdb 가 실행 화일 내의 symbol table 등을 읽어서 디버그 한다면, 이 스크립트는 실행 화일 외부에 있는 symbol table 등을 읽어서 디버그(?)하는 차이점이 있겠네요.
요약하면 실행 화일 외부에는 있는 symbol table 등을 읽어서 디버그하는 유틸리티가 필요하다는 것이 겠네요.
어떻게 접근하면 좋을까요? ^^;;;;;
댓글 달기