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 파일을 작성할 수 있다. 이 버튼을 누르면, 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