본문 바로가기

main71

[Linux] gdb 멀티 프로세스 환경에서 사용하기 1. 개요 멀티 프로세스 즉 fork() 이후 자식 프로세스에서 디버깅을 하기 위해서는 옵션을 설정해야 합니다. default는 부모 프로세스로 fork() 이후 부모 프로세스만 디버깅됩니다. 2. 멀티 프로세스 디버깅 제어 옵션 멀티 프로세스 gdb 디버깅을 위해 자식 또는 부모 프로세스를 제어하기 위한 옵션을 설명합니다. 2.1. follow-fork-mode fork() 이후 자식 또는 부모 프로세스의 동작을 제어하는 옵션으로 default는 parant입니다. child로 변경하면 fork() 이후 자식 프로세스로 전환되어 자식 프로세스를 디버깅합니다. 명령어 결과 set follow-fork-mode parant set follow-fork-mode child show follow-fork-mo.. 2023. 12. 19.
[Linux] gdb 명령어 정리 및 예제 실습 1. 개요 linux c 개발에서 디버깅을 위한 gdb 명령어 정리 및 실습을 진행합니다. 2. gdb 사용 조건 gdb를 사용하기 위해선 컴파일 옵션에 "-g" 옵션을 사용해야 합니다. 또한 최적화 옵션을 사용하지 않는 것이 디버깅 시 좋습니다. 3. 예제 소스 gdb 명령어 테스트를 위한 소스 예제입니다. 예제는 다음과 그림과 같이 구성하였습니다. 소스 파일 main.c #include #include #include #include int main(int argc, char **argv) { int i = 0; int nData1 = 0; int nData2 = 0; int nResult = 0; int narResult[5] = {0, }; double dResult = 0; if(1 < argc.. 2023. 12. 8.
[GTEST] "--gtest_filter" 옵션으로 설정한 테스트 케이스가 존재하지 않는 경우 오류 처리 방법 1. 개요 GTEST의 경우 filter 옵션으로 특정 테스트 케이스를 실행시킬 수 있습니다. 하지만 옵션으로 준 테스트 케이스가 존재하지 않는 경우 따로 오류 처리를 하지 않아 개별 테스트를 여러 번 수행하는 경우 테스트 케이스 누락 여부를 확인하기 어려워 내용을 정리합니다. 비교 테스트가 있는 경우 테스트가 없는 경우 2. GTEST에서 제공하는 Class를 사용하여 처리하는 방법 GTEST에서는 테스트 프로그램에 대한 정보를 가지고 있는 Class를 제공합니다. 이를 활용하여 옵션으로 주어진 테스트 케이스가 존재하는지 체크하는 방법을 확인합니다. 사용 Class UnitTest : 테스트 프로그램 전체 상태를 반영합니다. TestCase : 테스트 케이스에 대한 정보가 있으며, 테스트 케이스는 테스.. 2023. 11. 30.
[GTEST] GTEST(Google Test) 실행 플래그 옵션을 소스 코드에 안에서 설정하기 1. GTEST(Google Test) 실행 플래그 옵션 GTEST의 실행 플래그 옵션을 명령인수로 사용하는 방법은 다음 페이지에 정리되어 있습니다. [GTEST] GTEST(Google Test) 명령 인수를 사용한 실행 플래그 옵션 정보 [GTEST] GTEST(Google Test) 명령 인수를 사용한 실행 플래그 옵션 정보 1. GTEST(Google Test) 실행 플래그 옵션 GTEST 사용 시 기본적으로 제공해주는 플래그 옵션 사용에 대하여 정리합니다. 2. 프로그램 명령 인수를 사용한 실행 옵션 정보 GTEST는 main() 함수의 명령 인수에 junk-s.tistory.com 2. 소스 코드 안에서 실행 플래그 설정 방법 명령 인수가 아닌 소스 코드 안에서 플래그를 설정할 수 있습니다. .. 2023. 11. 24.
[GTEST] GTEST(Google Test) 명령 인수를 사용한 실행 플래그 옵션 정보 1. GTEST(Google Test) 실행 플래그 옵션 GTEST 사용 시 기본적으로 제공해 주는 플래그 옵션 사용에 대하여 정리합니다. 2. 프로그램 명령 인수를 사용한 실행 옵션 정보 GTEST는 main() 함수의 명령 인수에 실행 플래그 옵션을 사용하여 프로그램 실행 시 수행 옵션을 지정하여 제어할 수 있습니다. 이를 위해선 main() 함수에서 RUN_ALL_TESTS() 전에 ::testing::InitGoogleTest()를 호출해야 합니다. CEnvironment* g_Env = NULL; int main(int argc, char **argv) { g_Env = new CEnvironment(); g_Env = new CEnvironment(argc, argv); ::testing::I.. 2023. 11. 22.