0920_c언어 디버깅에 대해서
C언어 디버깅 하는 방법
- 🦄 printf 찍기
가장 간단한 방법이다. 실행하고자 하는 파일에 확인하고자 하는 변수를 찍어보는 것이다. 터미널에 출력이 된다.
단 너무 크기가 큰 프로그램은 확인이 어려울 수 있다.
- 🦄 assert문으로 확인하기
확인이 필요한 부분에 assert()를 넣으면 true / false 여부를 확인 할 수 있다.
#include <assert.h>
assert( cnt < maxnum );
// 터미널에 assert test
-
🦄 test code 작성하기
확인해야하는 내용을 작성해서 테스트코드를 만드는 방법이다. assert문을이용해서 작성하는것은 동일하지만 좀더 구체적인 상황에 대한 테스트가 가능하다. MAKEFILE 수정도 필요하다. 당연히 MAKEFILE 언어에 대한 추가 공부가 필요하다.
test: test.o csapp.o proxylib.o $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) @echo run test code automatically ./$@
-
🦄 gdb 돌리기
MAKEFILE파일에서
-g
플래그 추가가 필요하다.vs code에 있는 이 버튼을 누르면, launch.json 파일을 작성할 수 있다.
name, program 을 수정해야 한다.
{ "configurations": [ { "name": "디버깅 시작!", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true }, { "description": "Set Disassembly Flavor to Intel", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true } ] } ] }
그 이후에 디버깅이 필요한 파일을 실행하면 실행 옵션을 선택할 수 있음
Leave a comment