쿨소프트

QNA

PC상 실행중인 프로그램을 디버깅하거나 분석하는게 가능한가요?

프로그래밍 [레벨:1]zipmy 2010.03.06 08:26

안녕하세요? 먼저 배경을 설명드리자면, 모터와 PLC로 구동하는 장비를 PC를 통하여 (Visual C++ 및 VB로 제작된 프로그램) 제어하고 있습니다. 실질적으로 PLC를 통한 다른 장비와 PLC 통신이 주된 동작구조입니다.

 

완전히 만들어진 프로그램들로 PLC 동작 및 모터제어를 하고 있는지라, 개선작업을 할때는 소스를 편집後, 작업을 해야 하는데.. 문제는 실제 장비 메이커에서는 소스공개를 하지 않습니다.. 단순히 어디어디를 변경해 달라 해야지 변경을 해주고 있어서 비용상, 시간상 문제가 상당히 많이 생기는 편입니다.

 

실질적으로 프로그램이 어떻게 동작하고, 무슨신호를 주고 받는지 알길이 없어 "어디를 어떻게 개선해 달라.. 이 신호가 늦게 나가니 알아봐 달라.." 이렇게 말조차 할수가 없습니다..

 

 

 

PC에서 실시간 동작중인 프로그램에 대하여 어떤 동작(통신 & 출력)을 하는지.. 장비에 대하여 어떤 통신을 하는지 분석하는게 가능할까요..? 업무상 윗선 사람들이 바라는 바로는, 장비제어 프로그램이 어떤 동작을 하는지 분석하는 프로그램을 만들길 바라는데;; 도대체 이건 어떤것을 배워야 하는지 모르겠습니다..  도와주세요 ㅜ,.ㅜ

 

 

의견 (0)

답변등록

현재 답변들 2
[레벨:59]Sone 2010.03.06 12:02

가능하죠.

디바이스를 컨트롤 하기 위해서 당연히 프로그램에서 명령을 보내는데,

그 흐름을 분석하기위해서

실행중인 프로그램에 디버거를 이용해서 Attach(갖다붙임)  한뒤 , 라이브 디버깅(실행중인 프로그램을 분석) 을 수행할 수 있습니다.

프로그램에 사용된 API라던가 그런것들에 대해서 사전지식을 가지고있어야 , 흐름이 어떻게 흘러가는지 알수 있습니다.

 

분석한 결과를 토대로,  어떤 동작을 하는지 분석하는 프로그램을 만들수 있습니다.

단 , 이런 프로그램을 만들기 위해서는 후킹(가로챔) 이라는 비교적 기본적인 테크닉을 구사할줄 알아야하는것으로 알고있습니다.

 

의견 (0)
[레벨:23]mia 2010.03.06 20:43

해당 plc 모듈이 pc 랑 rs232 로 통신하면 시리얼 포트 모니터링 툴을, 소켓으로 통신하면 네트워크 모니터링 툴을 구한 다음에 여러가지 input 을 줘서 장비를 동작시키면서 모니터링 툴에서 출력한 결과를 가지고 프로토콜을 분석하면 됩니다. 또는 통신을 하기위한 pc 어플리케이션 자체를 static analysis 또는 디버거로 어태치해서 동적인 분석을 할 수 있습니다.


Regards,

mia

의견 (0)

서비스 링크

X
Login

브라우저를 닫더라도 로그인이 계속 유지될 수 있습니다. 로그인 유지 기능을 사용할 경우 다음 접속부터는 로그인을 하실 필요가 없습니다. 단, 게임방, 학교 등 공공장소에서 이용 시 개인정보가 유출될 수 있으니 꼭 로그아웃을 해주세요.

아이디/비밀번호를 잊어버리셨나요?

아이디/비밀번호 찾기

아직 쿨소프트의 회원이 아니신가요?

아이디/비밀번호 찾기

X
Close