programing

gdb: gdb를 종료하지 않고 프로그램을 종료합니다.

javamemo 2023. 9. 2. 07:56
반응형

gdb: gdb를 종료하지 않고 프로그램을 종료합니다.

나는 gdb를 사용하여 프로그램을 디버깅하고 있습니다.퍼스트 Iload내 실행 파일, 그러면 나.continue프로그램을 실행할 수 있습니다.나는 가끔 내 프로그램의 실행을 방해하고 싶어, 그래서 나는 합니다.Ctrl + C.

제 문제는 이것이 제 프로그램과 gdb를 모두 닫는다는 것입니다.gdb를 종료하지 않고 프로그램을 종료하려면 어떻게 해야 합니까?

사용해 보셨습니까?killGDB 내부에서?

응용 프로그램을 중단하려면 ctrl-c를 사용합니다.그런 다음 GDB 프롬프트에서 "signal SIGINT"를 실행하면 이 신호가 응용 프로그램으로 전송되어 명령줄에서 ctrl-c를 실행할 때와 동일한 작업이 수행됩니다.

Windows에서 사용해야 하는 것 같습니다.Ctrl-Break것은 아니다.Ctrl-C 페이지를 참조하십시오.

발췌:

SetConsoleMode를 호출하여 'Ctrl-C' 키 입력의 특별한 의미를 끄는 MS-Windows 프로그램은 C-c를 입력하여 중단할 수 없습니다.이러한 이유로 MS-Windows의 gdb는 C-를 대체 인터럽트 키 시퀀스로 지원하며, C-c를 무시하더라도 디버그지를 인터럽트하는 데 사용할 수 있습니다.

만리오가 말했듯이, 이 사건에서 당신이 원하는 것은kill다음과 같은 메시지가 표시됩니다.

Kill the program being debugged? (y or n)

입력하는 경우help running현재 프로그램 실행 중지와 같은 일반적인 작업을 수행하기 위해 알아야 할 모든 중요한 명령을 볼 수 있습니다.이것들은 gdb가 아니라 실행 중인 프로그램에 대한 모든 명령이어야 합니다.

shell

먼저 gdb 내부가 아닌 프로그램을 실행한 다음 pid를 찾습니다.

다른 셸에서, 실행gdb --pid=<your program's pid>이것은 실행 중인 프로그램에 gdb를 연결합니다.프로그램 실행을 중지하므로 문제가 발생합니다.c계속합니다.

이제 프로그램을 종료하면 GDB 세션이 그대로 유지됩니다.

언급URL : https://stackoverflow.com/questions/9669025/gdb-exit-program-without-exiting-gdb

반응형