← All Posts

[TIL] 260930 공부기록

디버깅4,5번풀기와 발표자료 준비

TIL#

오늘은 오전 오후에 디버깅랩 문제를 또 풀어보고 내일 발표 주제를 좀 고민했다 csapp 내용 중에 발표를 할지 카나리를 공부하다가 7년전 어느교수님의 cs 영상본것들을 공유하는 주제를 할지.. 또는 과제에 풀었던것을 공유하는게 좋을지 좀 고민했는데 물론 전부 다 기억에 많이남는 문제들이였으나.. 3번을 풀면서 gdb를 조금 공부했기때문에 3번을 가지고 발표주제를 정해서 저녁까지 발표를 준비했다

엔디안에 관련된 설명을 좀 하고싶었는데 이번주차와 좀 멀어진 주제라서 간략한 소개만 하고 넘기기로 했다..

배운점#

4번을 푼문제는 더블프리에 관련된 문제였는데 같은 객체를 가리키고 있던것을 하나를 해제하고 하나는 프리하지않고 종료하는 방향으로 문제를 풀었다. 풀기전에 포인터를 많이 공부했는데 그게 도움이 조금 커서그런지 다른 문제에 비해 수월하게 풀었던것같다..

다음으로 5번 문제가 2번문제급으로 어려웠는데 null을 역참조 접근하는문제였다 이 문제에서는 함수는 null을 반환할수있고 반환값을 바로 사용하지않고 null인지 검사후에 빈문자열을 출력하는방향으로 문제를 풀었다.

배운것은 반환한 값이 항상 유효하다고 하지않고 null을 반환할수있는 함수면 사용하기전에 검사를 한번 해야된다는것과, gdb를 스면서 크래시가 발생한 위치에서 전달된 값이 어디서 왔는지 거슬러올라가야한다는걸 배웠다

느낀점#

이번 디버깅랩이 정말 위기였다.. c주차에서 어려웠던 포인터방향은 이번주차에서는 이중포인터부터 함수 역참조까지 ai에게 문제를 달라하고 끝까지 풀어보면서 이해했는데 디버깅랩에서 다양한 사고들을 부딪혀보니 메모리 공부를 좀 많이 해야된다는 필요성을 느꼈다.. 특히 모르는 부분을 파는것은 어떻게 공부해야되는지를 슬슬 알아가고있어서 더 나은 내가 된것같은데, 공부할 갈길이 멀다..