CLion을 사용하여 포크된 자식 프로세스를 디버그하는 방법
저는 CLion의 내부 디버거(Linux의 gdb)로 리눅스 C 프로그램을 디버깅하고 있었습니다.그 프로그램은 내가 설정한 중단점에서 중단되기로 되어 있던 어린이 프로세스를 포크했습니다.하지만 디버거는 내가 들어가도 거기서 멈추지 않았습니다.set follow-fork-mode child
gdb 패널 안에 있습니다.CLION으로 어떻게 그렇게 할 수 있을까요?
나는 @MarkusParker가 올린 답변을 따랐지만, 대신에set auto-load safe-path /
저는 자식 과정과의 단절을 막곤 했습니다.이 지침은 제게 도움이 됩니다.
프로그램을 시작할 때 중단점을 설정합니다.자식 프로그램이 아닌 부모 프로그램).
디버거에서 프로그램을 시작합니다.
클론에서 디버거 콘솔(gdb라는 레이블이 있는 탭)로 이동하고 입력합니다.
set follow-fork-mode child
그리고.set detach-on-fork off
.디버깅을 계속합니다.
디버거의 GDB 탭을 사용하고 다음을 입력합니다.
set detach-on-fork off
set follow-fork-mode child
이 링크 디버거에 따르면: 멀티프로세스 대상 지원 Clion에서는 아직 지원되지 않습니다.set detach-on-fork off
프레임에 스레드를 추가하지만 하위 프로세스를 제어할 수 없습니다.그리고 클라이온은 "다른 사람들이 여전히 실행 중임에도 불구하고 하위자 중 한 명의 종료를 디버깅 세션의 끝으로 취급합니다."
vScode에도 동일한 문제가 있는 것 같습니다.
설정했는지 확인합니다.set follow-fork-mode child
갈림길에 들어서
언급URL : https://stackoverflow.com/questions/36221038/how-to-debug-a-forked-child-process-using-clion
'programing' 카테고리의 다른 글
이미지를 localStorage에 저장하고 다음 페이지에 표시하는 방법은 무엇입니까? (0) | 2023.10.09 |
---|---|
내부 지시어에서 컨트롤러 모델 값 보기 (0) | 2023.10.09 |
Java에서 MySQL 저장 프로시저를 실행할 수 없습니다. (0) | 2023.10.09 |
포함 범위에서 임의 부동 소수점 두 배 (0) | 2023.10.09 |
mysqlworkbench를 사용하여 테이블 구조만 내보내기 (0) | 2023.10.09 |