Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

빌림 검사기 디버깅

영역 제약 그래프와 강한 연결 요소

-Z dump-mir-graphviz=yes를 사용하면 요청한 MIR 본문의 outlives 제약에 대한 Graphviz 파일과 함께 그 제약들의 강한 연결 요소(SCC)에 대한 Graphviz 파일도 얻을 수 있습니다. 이 파일들은 각각 mir_dump/rs-file-name.function-name.-------.nll.0.regioncx.all.dot과 mir_dump/rs-file-name.function-name.-------.nll.0.regioncx.scc.dot로 제공됩니다. 두 그래프 모두에서 이름이 있는 영역 변수는 외부 이름(예: 'static)이 괄호 안에 함께 표시됩니다. 루트 유니버스가 아닌 유니버스에 속한 영역 추론 변수는 /U13(유니버스 13의 경우)과 같이 표시됩니다. 영역 그래프에서 간선에는 해당 관계가 성립해야 하는 MIR 위치가 레이블로 붙으며, 제약이 항상 참이어야 하는 경우에는 All이 붙습니다.

참고: 'static에서 모든 영역으로 향하는 암시적 간선이 존재하지만, 그래프가 복잡해지는 것을 피하기 위해 영역 그래프에는 그려지지 않습니다. 그러나 SCC 그래프에는 이 간선들이 표시됩니다. 이 때문에 SCC 그래프에는 위의 영역 outlives 그래프에 대응하는 간선이 없는 것처럼 보이는, SCC(5)에서 나가는 간선이 있습니다.

함께 보기

데이터 흐름 디버깅에 관한 일반 지침은 빌림 검사 데이터로 생성된 그래프에도 적용됩니다.