이 안내서는 다음 방법을 알려줍니다.
각주 : Perl의 슬로건에서 적응 한 : "쉬운 일은 쉽고 어려운 일이 가능해야합니다."
이것은 간단하고 복잡한 소프트웨어 문제를 성공적으로 디버깅하기위한 방법론 및 Copy-N-Paste 레시피의 작업 모음입니다. 일부 섹션은 상당히 완료되지만 다른 섹션은 이후 단계에서 완료되지만 다른 섹션은 시작되지 않았습니다.
저는 1995 년부터 소프트웨어를 개발해 왔으며이 작업의 많은 부분이 디버깅과 관련이있었습니다. 수년에 걸쳐 문제의 원인을 발견하기위한 다양한 효율적인 방법론을 개발했는데, 이는 문제를 해결하기가 가장 어려운 단계입니다. 문제가 이해 된 후에는 일반적으로 해상도가 비교적 쉽습니다.
너무나 자주 누군가 나는 내 접근 방식을 세상과 공유 할 것을 제안하는 누군가와 문제를 디버깅 할 것입니다. 나는 항상 일반화하기가 너무 어려울 것이라고 말했지만 최근에는 심은 씨앗이 싹을 쓴 것으로 보이므로 다음 문서에서는 시간 과정 에서이 어려운 과정을 완화하기 위해 몇 가지 통찰력을 공유하려고 노력할 것입니다.
공극에 디버깅에 관한 글을 쓰는 것은 매우 어렵고 사용 사례를 저장하지 않았기 때문에 이것을 구축하는 데 약간의 시간이 걸릴 것이므로이 페이지들이 많은 달의 WIP (Work Work)가 될 것으로 예상됩니다. 그러나 바라건대 몇 가지 아이디어가 나중에 더 빨리 당신에게 전달 될 수 있으며, 그들은 당신의 작업과 프로젝트에서 디버깅의 부담을 줄이는 데 도움이 될 것입니다.
빠른 디버깅 방법론
컴파일 된 프로그램 디버깅 gdb , ldd , nm , LD_LIBRARY_PATH , LD_PRELOAD
파이썬 디버깅 -Py py-spy , Paths, 자동 인쇄
디버깅을위한 유닉스 도구 - bash , strace , make , 프롬프트, nohup
기계 학습 프로젝트 디버깅 (외부)
버그를 찾은 경우, 오타 또는 개선을 제안하고 싶다면 주저하지 말고 문제를 열거 나 홍보를 기부하십시오.
이 사이트의 내용은 Attribution-Sharealike 4.0 International에 따라 배포됩니다.
✔ 머신 러닝 : ML 엔지니어링 온라인 책 | ML Ways | 포팅
✔ 가이드 : 디버깅 기술
✔ 응용 프로그램 : ipyexperiments
✔ 도구 및 치트 시트 : 배쉬 | 콘다 | git | Jupyter-Notebook | 만들기 | 파이썬 | 텐서 보드 | 유닉스