나는 다른 시간에 다른 결과를 나타내는 것처럼 보이는 레거시 코드 (c)를 받았습니다. 인텔의 컴파일러와 컴파일러 플래그 -ftrapuv를 사용하여 일관되게이 문제를 재현 할 수있었습니다. 이것은 훌륭하게 작동했으며 초기화되지 않은 변수가 일부 스택 변수 였는지 확인할 수있었습니다. 질문은 다음 단계는 무엇입니까? 누구나 모든 스택 변수의 백 추적을 인쇄하는 방법을 알고 있습니까? (또는 단순히 스택 내용을 인쇄하십시오) 누군가가 제안을하거나 인텔이 어떻게 도움을 줄 수 있는지 알고 있습니까? 아니면이 문제를 진행해야합니까?초기화되지 않은 스택 변수를 찾는 방법
감사합니다.
해보십시오 Valgrind의, 그것은 발견은 초기화되지 않은 변수의 읽기와 스택 트레이스를 인쇄합니다. –
곧 출시 될 CLang 및 GCC 버전에서 새롭고 향상된 UBSanizer를 사용할 수 있습니다! – rodrigo
컴파일 할 때 모든 경고를 켭니다. 또는 여러 정적 분석기 중 하나를 사용하십시오. (내가 사용하던 도구에 대해서는 언급하지 않겠지 만 매우 비싸고 최고입니다. 저렴한 도구를 찾으십시오 :이 오류는 도구를 찾기가 어렵지 않습니다.) –