아이디어는 프로그램에 특정 입력이 주어진다면 자동으로 전체 프로그램을 단계별로 밟아서 사용되는 모든 데이터와 함께 제어 흐름을 덤프하고 싶습니다. 클래스 및 해당 변수. 그들의 직접적인 방법은 이것입니까? 또는 gdb를 통한 스크립팅으로 수행 할 수 있습니까? 아니면 gdb에서 수정해야합니까?변수의 값을 포함한 gdb를 통한 완전한 제어 흐름 인쇄
좋습니다.이 질문에 대한 이유는 디버깅 도구에 대한 아이디어 때문입니다. 그것이하는 것은 이것입니다. 프로그램에 대한 두 개의 서로 다른 입력이 주어지면 하나는 잘못된 출력을 일으키고 다른 하나는 올바른 입력이 주어지면 제어 흐름의 어떤 부분이 서로 다른지 알 수 있습니다.
그래서 필자는 diff 엔진으로 들어가는이 2 가지 제어 흐름을 완전히 덤프해야한다고 생각합니다. 그리고 두 입력이 유사한 제어 흐름을 따르고 있다면, 그 차이는 (많은 경우) 버그가 왜 존재하는지에 대한 좋은 아이디어를 줄 것입니다.
이것은 매우 매력적인 도구로 만들어 질 수 있습니다.
왜이 작업을 수행 하시겠습니까? valgrind/Coverity와 같은 정적 분석 도구가 사용자의 요구에 더 적합 할 수 있습니다. –
소스 행 전용 : http://stackoverflow.com/questions/764382/automate-tracing-in-gdb, 함수 호출 : http://stackoverflow.com/questions/311948/make-gdb-print-control-flow- lq = 1이라고 불리는 함수의 –