효율성을 개선하기 위해 디버그 기능을 강화

내 관점에서 : 비즈니스 기능을 할 수있는 매우 간단한 일이 어렵다하게, 효율적으로 수행하기가 어렵습니다. 건축 설계의 발전에도 불구하고, 기술 솔루션은 일찍 얘기 만이 단계는 우리 각자가 도전의 다른 수준을 제공합니다 준 코드를 작성합니다. 이전 또한 코드 위상 작성에 대한 기사를 썼다 클래스 "" "도구의 효율성을 향상" 내 뷰에 대한 코드의 디버그 이야기의 관점에서 주로 여기에 있습니다.


  • 디버깅 감소 코드를 작성할 때 피하기 버그보십시오
    문제는 먼저 예방에 초점을 맞춘. 종종이 같은 팀 동료를 만날 수있는, 코드는 매우 빠르게 작성되지만, 코드 추상적는 끝없는 디버그 늪에 그를 투입됩니다. 나는이 동료의 조언을 줄 것이다 : 코드 리뷰를 작성할 때 종종 코드의 설계 구조를하고 더 많은 시간을 보내고, 다른 하나는주의 평범하다.

  • IDE 및 도구를 잘 활용
    종종 정력과, 이맥스 IDE, 그리고 정력 아래로 보이는 것을보기를 듣고 .. 그 묘책, 어떤 언어에 상관없이, 무엇 당신이 최고의 IDE, 그는 당신의 정력에 응답 할 것을 물어뿐만 플랫폼 ... 물론, 정력의 사용을 배제 할 수 없다 .. 뛰어난 사람들은 다른 X의 대부분은 설치되어 있어야합니다. 당신은 당신의 목표는 대신 자신에게 더 많은 하이 엔드, 더 많은 가축을 보여주는으로, 작업을 완료하는 것을 기억해야 X. GDB 공감. 적절한 IDE는 많은 장점이 있습니다 오류, 코드 완성, 풍부한 교체 모양을 여러 협회는 당신이 문제를했다 경우, 정확하지 정력도 같은 효과를 달성하기 위해 구성 할 수 있습니다 두려워 물론, 점프,하지만하십시오 결정 수 있도록이 문서를 체크 아웃 , "에디터와 IDE를" 우리가 위에서 언급 단지에 대한 혜택 "을 피 버그에"몇 IDE보다 더 많은 가져온 매우 긍정적 인 의미 일이있다. 또한, IDE 인터페이스 디버그를 통합 (사용 GDB 친구는 확실히 알) 친절하고 강력한 브레이크 포인트, 단계 동안, 나는 표준 절차를 읽을 수있는 프로그램을 작성 적어도 메모리 변수, 호출 스택 ... 간단하게 디버그 유물,에 단계 이 단계는 몇 단계에 의존하는 것입니다. ( 말 뭔가 과장,하지만 난 정말 엔지니어를 포함한 사람들, 많은, 업무 경험의 많은 년 중 일부는 실제로 완전히 printf와 여행, 급증 강 아 같은 내 "놀라운"에 의존, 중단 점 디버깅을 사용하지 만났다 .. . ) , 메모리 누출 검출 도구뿐만 아니라, 다양한 도구 (AS, 또한보다 효율적으로 디버깅 할 수있는 다른 툴을 사용하여 시운전시 wirshark, netcat을, tcpdump를 때 네트워크 프로그래밍 ...)

  • 프로그램 출력은 로그
    내 의견 로깅 시스템이 프로그램의 표준 부분이되어야한다. 가장 큰 유용성은 프로그램 동작, 정확한 위치 버그의 정렬하는 데 도움이하는 것입니다. 당신이 거기 출시 후 테스트 코드, 사용자를 쓸 때 오른쪽 어이, 아, 문제가 많은 버그에없는 관찰한다 몇몇 친구들이 물어, 나는 디버깅 IDE를 사용할 수 있습니까? 일부는 특정 시스템 환경이나 시간 환경 문제에 따라 또 다른 매우 중요한 포인트, 멀티 스레딩 문제 및 재현하기 어려운,이 시간은 당신이 지금까지 tenterhooks 기다릴 잡을. 나는 직장에서 아파치 log4X 시리즈를 사용하여, 또한 강력한 유물되었다. 그러나 일부 상황에서 프로그램의 일부가 포함 된 환경 (log4cxx 큰 동적 라이브러리), 당신은 표준 출력 로깅 시스템에 대응하여 자신의 포장을 사용할 수 있습니다 차지하는 공간의 크기에 민감한에서, 다음 실행과 같은 log4X를하지 일을 잘 지향성 출력을한다.

  • 충돌 덤프
    모든 가능성에 큰 버그가 우리에게 C / C에서 가장 두통 ++의이 치명적인 수준의 붕괴는 메모리 위반 (분할 오류) 발생합니다. 우리는 가능한 정확하게 가장 효과적인 방법은 메모리 덤프 파일을 사용하는 것입니다 위치를 포착해야한다, 그래서 가장 어려운 등이 버그 및 멀티 스레딩 문제는 찾을 수 있습니다. 위치 분석이 옵션을 리눅스 플랫폼을 사용 GDB 코어의 전원을 켠 후 수행 할 수있다. 윈도우 플랫폼은 모든 메모리 덤프 기능을 구현하려면 복잡, 우리는 유틸리티 클래스 추천입니다 mini_dump을 프로그램 충돌 후 수 있습니다 windbg를 디버거를 사용하여 덤프 파일을 생성합니다 일단.

  • 구글
    들이 다양한 접근 방법을 찾을 수없는 원하거나 해결할 수없는 버그를 많이, 당신은 큰 하나님 구글 물어해야합니다. 바이두, 검색에 거의 또는 전혀 영어의 경우 중국의 검색 항목을 사용하지 않으려 고 더 많은 이득이있을 수 있습니다.

  • Q.
    당신이 질문을 시도하고, 또한 구글 만 해결 될 수없는 경우 : 내 팀 구성원이 같은 제안을 넣어 주었다. 일단이 문제에 굵은 글씨로 보냈다 이상 1 시간, 어쩌면 그는 당신에게 좋은 조언이나 아이디어를 줄 것이다, 아마 그 사람이 만난, 경험이 많은 팀 구성원에게, 외부의 도움을을 요청하십시오.

  • 깊이 연구
    사실은,이 상단에 더 적절한 지점입니다, 심도있는 연구를 이동 한 다음 작업을 수행. 그러나 우리는 종종 심층 연구, 내가 버그 형성의 많은 심지어 우리가 원인에 대해 아무것도 모르는 것을 지식의 겉 핥기 생각 갈 문제가, 반대로 연습, 우리가 가득 기반 학습의 종류를 포기하려고한다, 그러나 심층 연구, 자신의 경력에 학습을 계속합니다.

이러한 나의 견해와 관행 디버그 기능을 향상시킬 수 있습니다.


출시 팔 개 원래 기사 · 원의 찬양 (18) · 전망 9454

추천

출처blog.csdn.net/weixin_38054045/article/details/104243675