많은 사용자를 지원하는 글로벌 거래 시스템에서 작업합니다. 각 사용자는 거래를 예약, 수정, 편집, 삭제할 수 있습니다. 이 시스템은 중앙 거래 캡처 서비스에 의해 규제됩니다. 거래 캡처 서비스는 발생하는 모든 업데이트를 모든 사용자에게 알려줍니다.C++에서 디버그 실행 흐름을 얻는 방법
문제가 발생하면 테스트 시스템에서 프로덕션 환경을 다시 작성할 수 없으므로 충돌이 발생하고 크래시 덤프 및 로그 파일에 의존해야합니다.
그러나 사용자가 무엇을했는지는 알 수 없습니다.
저는 (충돌시) 사용자가 수행 한 작업 내역을 덤프 할 시스템을 원합니다. 내가 추가하는 것은 실제 환경에 들어가야하므로 성능에 큰 영향을 미치지 않습니다.
아이디어 현명한 나는 스택 추적과 같은 역할을하는 각 기능의 상단에 MACRO를 생각했다. (트레이드 아이디, 사용자 대화 상자 선택 등과 같은 추가 사용자 정보를 제공 할 수 있었다.) 시스템은 스택을 기록했다. 트레이스 (스레드별로) 및 순환 버퍼에 히스토리를 유지할 수 있습니다 (캡처하려는 히스토리의 양에 따라 크기가 다양 함). 그리고 나서 추락 할 때, 나는이 역사를 쌓아 버릴 수 있었다.
누구든지 더 나은 해결책이 있거나 기존 프레임 워크에 대해 알고 있다면 정말 듣고 싶습니다.
감사 리치
는
매크로를 사용하지 마십시오. –
더 이상 필요가 없으면 어떻게 제거해야합니까? #ifdefs? – Rich