고품질의 콘텐츠를 제작하려면 오라클 BRM 소프트웨어를 개발하려면 개발 프로세스와 관련된 몇 가지 요건을 충족해야 합니다. 개발 프로세스에 우수한 테스트 및 디버깅 기술을 통합하는 것이 특히 중요합니다.
테스트는 테스터가 수동으로 수행하거나 자동화할 수 있는 소프트웨어 제품의 버그나 오류를 찾는 프로세스입니다.
디버깅 컴퓨터 소프트웨어 또는 시스템의 올바른 작동을 방해하는 컴퓨터 프로그램 내의 결함이나 문제를 찾아서 해결하는 프로세스입니다. 기본적으로 테스트 단계에서 발견된 버그를 수정하는 프로세스입니다. 디버깅은 프로그래머 또는 개발자가 담당하며 자동화할 수 없습니다.
Oracle BRM 정책 옵코드 사용자 지정 코드 디버깅하기
에서 정책 옵코드를 사용자 지정할 때 오라클 BRM 잠재적인 버그를 찾거나 코드 동작을 분석하기 위해 일부 코드를 디버깅해야 하는 경우가 종종 있습니다. 일부 디버그 메시지를 기록하고 로그를 분석하여 기본적인 분석을 수행할 수 있지만, 훨씬 더 고급스럽고 강력한 방법은 별도의 도구인 디버거를 사용하는 것입니다. 이 글에서는 오픈 소스 디버거 GDB를 사용하여 일부 사용자 정의 코드를 수행하는 Oracle BRM cm 프로세스를 디버깅하는 방법을 살펴봅니다(아래 그림 참조).
GDB 는 코드를 분석하고 디버깅할 수 있는 여러 가지 강력한 고급 도구를 제공하는 오픈 소스 디버거입니다. GDB의 기본 기능 중 일부는 중단점(조건부/비조건부), 감시, 백 트레이스 및 증분 코드 실행입니다. 물론 변수 값을 보고 수정하고 다양한 함수를 호출할 수도 있습니다. 이제 실제로 cm 프로세스와 함께 GDB를 어떻게 사용하는지 살펴보겠습니다.
실무 디버깅
먼저 CM 프로세스의 PID를 얻어야 합니다:
ps x
CM 프로세스 PID를 찾아서 이를 사용하여 GDB로 해당 프로세스에 연결합니다:
gdb cm
이제 GDB 셸이 열리면 GDB가 지원하는 다양한 명령을 실행할 수 있습니다. CM에 새로 연결될 때마다 부모 CM에서 새로운 자식 CM 프로세스가 생성됩니다. 우리는 GDB가 이러한 자식 프로세스도 추적하기를 원합니다. GDB 셸에서 다음 명령어를 실행합니다:
(gdb) 설정 팔로우-포크-모드 자식
필요에 따라 detach-on-fork 및 attach 명령 세트를 살펴볼 수도 있습니다. 이제 다음 예제와 같이 일부 정책 옵코드 구현에 중단점을 설정해 보겠습니다:
(gdb) break fm_act_pol_post_reauthorize.c:192
이제 정책 옵코드 실행을 트리거하면 중단점에 의해 중단됩니다(또는 그 전에 새 자식이 스폰되었음을 알려줍니다). 그런 다음 다음(약어 n) 또는 단계 명령을 사용하여 코드 흐름을 단계별로 따라갈 수 있습니다. 어떤 변수 값에 관심이 있다면 다음을 사용하여 출력할 수 있습니다:
인쇄
이 외에도 더 많은 고급 기능 및 강력한 기능을 사용할 수 있으며, 이는 GDB 문서와 통합 도움말에 자세히 설명되어 있습니다. 이 기능들이 여러분에게 어떤 도움이 될 수 있는지 살펴보시기 바랍니다.