본문 바로가기
Linux

[Linux] gdb 멀티 프로세스 환경에서 사용하기

by Junk_Seo 2023. 12. 19.
반응형

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-mode

2.2. detach-on-fork

  • fork() 자식 또는 부모 프로세스 중 하나를 detach 할 것인지 아니면 둘 다 제어할 것인지 설정합니다.
  • default는 on으로 자식 또는 부모 프로세스 중 하나를 detach 합니다.
  • off는 자식 프로세스와 부모 프로세스 둘 다 제어합니다.

    명령어 결과
    set detach-on-fork on
    set detach-on-fork off
    show detach-on-fork 

 

반응형