간단하지만 강력한! 멀티스레드 디버깅 팁 (알아두면 쓸데 있음!)

Поделиться
HTML-код
  • Опубликовано: 23 дек 2024

Комментарии •

  • @Blank_____1
    @Blank_____1 2 года назад +2

    와우... 답변 너무감사드립니다 특히 3번은... IOCP를 쓰고있는데도 모르고있던 부분이었네요 개발자 목숨이 하나 늘어난 기분입니다.. 감사합니다!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      도움이 되셨다니...기쁩니다. 질문 있으면 언제든 글 올려주세요. 아는 범위에서 답변드리겠습니다. 즐프하세요~~~! ^^

  • @이름이중요해-l3p
    @이름이중요해-l3p 3 месяца назад

    복습 확인....(오늘 이걸로 고생했습니다.... 복습을 생활화 하자;; DATA BP 및 CALLBACK함수 PB)

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  3 месяца назад

      그런 경험이 쌓이면 실력이 됩니다. 수고하셨습니다. :)

  • @EE-rs4oq
    @EE-rs4oq 2 года назад

    printf말고 별다른 파해법이 생각이 안났는데, 이런 좋은 내용 공유해주셔서 감사합니다 ㅎ

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      도움이 되셨다니 다행입니다. 도 골치아픈 방법들도 좀 있긴 한데...언제 기회가 되면 다루도록 하겠습니다. 즐프하세요~~~! ^^

  • @youngsooyi7481
    @youngsooyi7481 2 года назад +1

    ods가 mutex사용하니 thread safe하죠. stdout도 thread safe한걸로 기억하는데... 기억이 가물거려요. win32를 떠난지 15년은 된듯한...

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +1

      그게...stdout가 아니더라도 파일 입/출력 시도하거나 레지스트리 입/출력만 해도 비슷한 효과가 났던 것으로 기억합니다. 정보 감사합니다. ^^

  • @파마셀2
    @파마셀2 2 года назад +1

    강의 항상 감사드립니다! Output 디버그 출력 공감 확 되네요 ㅎ

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      아마도 윈도우 계열 개발자라면 누구나 했을 경험이 아닐까 생각합니다. ^^;;;;

  • @yjlim3020
    @yjlim3020 2 года назад

    강의 감사합니다!
    강의 내용 중 궁금한게 있는데 release mode로 컴파일을 진행하면 최적화가 이루어지는데 이때의 최적화라는 것은 소스 코드와 컴파일러가 동일하다는 전제 조건에서는 항상 동일하게 이루어지나요?

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      네, 그렇다고 봐야죠. 최적화도 정해진 규칙에 따릅니다. 따라서 소스코드변화가 없다면 달라질 것이 없습니다. 다 컴파일 타임에 발생하니까요. ^^

    • @yjlim3020
      @yjlim3020 2 года назад

      @@nullnull_not_eq_null바쁘실텐데 답변해주셔서 감사합니다! 그렇다면 만일 멀티스레드 환경에서 프로그램이 죽는(?) 상황이 간헐적으로 발생한다거나 죽는 포인트가 일정하지 않다면 최적화 문제는 배제할 수 있는건가요?

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      디버깅 과정에서는 모든 가능성을 열어 두어야 하겠으나...최적화 이슈에서 접근할 것이 아니라
      거의 대부분의 경우 메모리 접근 오류일 가능성이 높겠습니다.
      특히 메모리를 할당하고 정보를 추가하는 스레드와 접근 및 사용하는 스레드 그리고 불필요한 데이터를 제거하는 스레드가 나뉘어 구현된 경우 더 그럴 것 같습니다. 그리고 입력 데이터가 내가 생각하지 못한 범주의 값이 들어오는 경우는 없는지도 잘 확인해야 하겠습니다. ^^

    • @yjlim3020
      @yjlim3020 2 года назад

      @@nullnull_not_eq_null 그렇군요.. 스레드 동작을 정확히 이해해야겠네요. 멀티스레드 환경에서의 디버깅 방법과 메모리 관리에 대해서도 좀 더 공부해봐야겠습니다ㅎㅎ 감사합니다!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      @@yjlim3020 오류 발생 시 메모리를 덤프해보시기 바랍니다. 해결 방법이 있을 겁니다.

  • @chrollo-want-hisoka
    @chrollo-want-hisoka 2 года назад

    와.. 진짜 컨텍스트 넘어가는건 생각도 못했네요.. 감사함니다

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +1

      그거 중요합니다. 잘 참고하시고요. 굳이 BP가 아니더라도 데드락이라도 잘못 걸리는 날이면 정말 머리아픈 일이 발생할 수도 있습니다. 몇 번 당했던 슬픈 기억이...^^;;;;;

  • @미나리-i7z
    @미나리-i7z 2 года назад

    혹시 오프라인 강의는 안하시나요

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      기회가 된다면...올해 한 번 추진해볼 예정입니다. 이벤트 성격의 특강으로요. ^^

  • @django3861
    @django3861 2 года назад

    안녕하세요 대표님. 대표님 강의가 정말 많은 도움이 되고 있습니다. 근데, 제가 비전공자 출신 현직 개발자이긴한데, 항상 인코딩 이부분이 조금 완벽하지 않아서, 아쉽더라구요. 혹시 이부분도 조금 다뤄주실 수 있을까요? 이메일 주소를 몰라서, 이 곳에 댓글 남깁니다. 새로 발행해주신 c 책도 잘 보고 있습니다. 감사합니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +1

      인코딩이라..어떤 인코딩 일까요? 도영상 인코딩인가요?? 아니면 암호화를 이야기 하는 것일까요?? 자세한 정보를 알려주시면 답변을 드릴 수 있을 것 같습니다. 감사합니다. ^^

    • @django3861
      @django3861 2 года назад

      @@nullnull_not_eq_null 안녕하세요 utf 8 / ascii 데이터가 이동하는 과정에서의 인코딩을 말씀드렸습니다.

    • @django3861
      @django3861 2 года назад

      ruclips.net/video/lio09TVQ5bE/видео.html
      이와 비슷한 류 인 것 같습니다!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      아, 문자코드 체계 말이군요. 알겠습니다. 한 번 정리하는 것도 좋긴 하겠네요. ^^

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      괜찮은 글이 있어 추천합니다!
      onlywis.tistory.com/2

  • @chrisshim2488
    @chrisshim2488 2 года назад

    명강의 감사합니다. ㅋㅋㅋㅋ 넣는 순간 오류가 안나죠. 최적화가 깨져서 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      상황이 이렇다보니...DebugView를 돌려보면 메시지들이 넘쳐나서...내껀 읽기도 힘들죠. ^^;;;;

  • @김모름-i8f
    @김모름-i8f 2 года назад

    "이 시대 최고의 개발자"

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      좋은 평가 감사합니다. 절대 최고는 아니고요...열심히 살아가는 개발자 입니다. ^^;;;;

  • @chancethe9374
    @chancethe9374 2 года назад

    ㅎㄷㄷㄷㄷ 이런팁을 주는 강의가 있었군요.... !!!!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      좋은 평가 감사합니다. 도움 될만한 것이 더 있는지 머릿속을 검색해보겠습니다. ^^

  • @주제인-u3s
    @주제인-u3s 2 года назад

    감사합니다.

  • @algospot4243
    @algospot4243 2 года назад

    늘 좋은영상 감사드립니다,
    선생님 덕분에 개발업무가 정말멋있
    구나 라고 생각하게된거같습니다
    앞으로도 잘부탁드리겠습니다(__)

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      좋은 평가과 패드백 감사합니다. 앞으로도 열심히 달리겠습니다. 열공하세요~~~! ^^

  • @r00tdr4g0n
    @r00tdr4g0n 2 года назад

    신 맞습니다.....

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      좋은 평 감사합니다. 절대절대 아닙니다. 공부할 것이 태산입니다. ^^;;

  • @liebespaar93
    @liebespaar93 2 года назад

    하루에 하나씩 넘유용해여 ㅋ

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      어떻게든 1강/1일 하려 노력중입니다. 그렇게 해도 올해 안에 수업을 다 할 수 있을지 걱정입니다. ^^;;;;

  • @갈가마구
    @갈가마구 2 года назад

    가볍게 클릭을 했는데...
    설명을 듣다보니 이래서 운영체제를 공부해야 겠구나 하는 생각이 파바박...듭니다.
    쓰레드 까지 프로그래밍을 할일이 있겠냐 마는...이해를 위해서는 운영체제를 이해 하는게
    정말 중요한것 같습니다. 안그래도 다시 보고는 있지만...이렇게 또 여기서 복습을 하고 갑니다.
    감사합니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      복습이 되셨다니 다행이네요. 열심히 공부하도록 버프 받았다 생각하시면 어떨까 싶습니다. ^^;;;;