Command-Line 출력
SDV에 명령을 제출하면 명령이 실행될 때 명령에 대한 정보, 명령의 성공 또는 실패를 나타내는 메시지, 생성되었을 수 있는 오류 메시지 또는 경고가 상태 표시됩니다. 확인 결과에 대한 요약이 출력의 맨 아래에 표시됩니다.
예를 들어 다음 그림에서는 SpinLock 규칙을 사용하여 SDV-FailDriver-WDM 샘플 드라이버를 확인하는 명령의 명령줄 출력을 보여 줍니다. 의도적인 코딩 오류가 있는 드라이버인 SDV-FailDriver-WDM 샘플 드라이버는 Windows 드라이버 샘플의 \tools\sdv\samples\Sdv-FailDriver-WDM 폴더에 있습니다.
이 확인에서 SDV는 드라이버가 규칙을 위반했음을 발견했습니다.
G:\Windows-driver-samples\tools\sdv\samples\SDV-FailDriver-WDM\driver>msbuild /p:Configuration=Release /p:Platform=x64 /t:sdv /p:inputs=/check:spinlock
Microsoft (R) Build Engine version 15.6.82.30579 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 3/30/2018 10:56:50 AM.
Project "G:\Windows-driver-samples\tools\sdv\samples\SDV-FailDriver-WDM\driver\fail_driver1.vcxproj" on node 1 (sdv tar
get(s)).
sdv:
staticdv /check:spinlock
SDV: H:\Program Files\Windows Kits\10\TOOLS\SDV
SMV: H:\Program Files\Windows Kits\10\TOOLS\SDV\smv
SDVAP: H:\Program Files\Windows Kits\10\TOOLS\SDV\smv\analysisplugins\sdv
Build environment: msbuild
[INFO] Cleaning ...
[INFO] Setting interceptor platform to x64
[INFO] Setting platform to x86_amd64
[INFO] Validating XML against schema: H:\Program Files\Windows Kits\10\TOOLS\SDV\smv\bin\Config.xsd
[INFO] Running local scheduler with 8 threads
[INFO] Driver type found: wdm
[INFO] Currently reading and validating XML settings from H:\Program Files\Windows Kits\10\TOOLS\SDV\data\wdm\sdv-def
ault.xml
[INFO] 1 of 2 jobs remaining. Avg(s): 8.00. Std.Dev(s): 0.00
[INFO] 1 of 3 jobs remaining. Avg(s): 9.00. Std.Dev(s): 1.00
Scan ...Done
[INFO] 0 of 3 jobs remaining. Avg(s): 6.00. Std.Dev(s): 4.32
Building ...Done
[INFO] Using plugin SdvPlugin.SmvSdv for analysis.
[INFO] Running analysis on 11 precondition(s) & 1 rule(s) ...
[INFO] Checking preconditions...
[INFO] 10 of 15 jobs remaining. Avg(s): 7.20. Std.Dev(s): 3.66
[INFO] 10 of 16 jobs remaining. Avg(s): 7.50. Std.Dev(s): 3.40
[INFO] 11 of 17 jobs remaining. Avg(s): 7.50. Std.Dev(s): 3.40
[INFO] 10 of 18 jobs remaining. Avg(s): 9.13. Std.Dev(s): 4.08
[INFO] 11 of 19 jobs remaining. Avg(s): 9.13. Std.Dev(s): 4.08
[INFO] 10 of 20 jobs remaining. Avg(s): 11.30. Std.Dev(s): 5.68
[INFO] 11 of 21 jobs remaining. Avg(s): 11.30. Std.Dev(s): 5.68
[INFO] 11 of 22 jobs remaining. Avg(s): 12.18. Std.Dev(s): 6.09
[INFO] 10 of 22 jobs remaining. Avg(s): 11.92. Std.Dev(s): 5.89
[INFO] 10 of 23 jobs remaining. Avg(s): 12.15. Std.Dev(s): 5.72
[INFO] 10 of 24 jobs remaining. Avg(s): 12.64. Std.Dev(s): 5.79
[INFO] 7 of 25 jobs remaining. Avg(s): 13.50. Std.Dev(s): 5.80
[INFO] 7 of 25 jobs remaining. Avg(s): 13.50. Std.Dev(s): 5.80
[INFO] 7 of 25 jobs remaining. Avg(s): 13.50. Std.Dev(s): 5.80
[INFO] 7 of 25 jobs remaining. Avg(s): 13.50. Std.Dev(s): 5.80
[INFO] 6 of 25 jobs remaining. Avg(s): 13.42. Std.Dev(s): 5.65
[INFO] 5 of 25 jobs remaining. Avg(s): 13.75. Std.Dev(s): 5.69
[INFO] 4 of 25 jobs remaining. Avg(s): 13.95. Std.Dev(s): 5.63
[INFO] 3 of 25 jobs remaining. Avg(s): 14.09. Std.Dev(s): 5.53
[INFO] 2 of 25 jobs remaining. Avg(s): 14.13. Std.Dev(s): 5.42
[INFO] 1 of 25 jobs remaining. Avg(s): 14.17. Std.Dev(s): 5.30
[INFO] 0 of 25 jobs remaining. Avg(s): 14.20. Std.Dev(s): 5.20
[INFO] Precondition check(s) completed.
[INFO] Verifying rules...
[INFO] 1 of 27 jobs remaining. Avg(s): 13.65. Std.Dev(s): 5.78
[INFO] 1 of 28 jobs remaining. Avg(s): 13.37. Std.Dev(s): 5.86
[INFO] 0 of 28 jobs remaining. Avg(s): 13.21. Std.Dev(s): 5.81
[INFO] 1 defects found.
[INFO] Please review using '/view' argument for SDV.
[INFO] Total time taken 96 seconds
[INFO] Found 1 bugs!
Done Building Project "G:\Windows-driver-samples\tools\sdv\samples\SDV-FailDriver-WDM\driver\fail_driver1.vcxproj" (sdv
target(s)).
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:01:37.93
결과 요약을 보고 위반된 규칙을 확인한 후 MSBuild 명령에서 /view 옵션을 지정하여 정적 드라이버 검증 도구 보고서를 볼 수 있습니다. 명령 옵션에 대한 자세한 내용은 정적 드라이버 검증 도구 명령(MSBuild)을 참조하세요. 출력의 검사, 빌드 및 검사 단계에 대한 자세한 내용은 확인 프로세스를 참조하세요.
다음 표에서는 결과 요약에 표시할 수 있는 결과를 설명합니다.
결과 형식 | Description |
---|---|
규칙 통과 |
SDV가 확인했지만 규칙 위반을 증명할 수 없는 규칙의 수입니다. |
결함 |
SDV에서 검색한 규칙 위반 수입니다. |
해당 없음 |
드라이버가 분석에 필요한 진입점을 지원하지 않았거나 드라이버가 규칙이 모니터링하는 함수를 호출하지 않았기 때문에 SDV에서 확인할 수 없는 규칙의 수입니다. 이 값이 0보다 큰 경우 Sdv-map.h 파일 콘텐츠가 올바른지 확인합니다. |
제한 시간 |
SDV가 각 규칙을 확인하기 위한 시간 제한을 초과하여 확인을 중지한 규칙의 수입니다. 시간 제한은 정적 드라이버 검증 도구 옵션 파일 Sdv-default.xml 설정됩니다. 이 결과는 SDV의 제한으로 인해 발생합니다. 드라이버의 오류를 나타내지 않습니다. |
스페이스아웃 |
SDV가 규칙을 확인하기 위한 메모리 제한을 초과하여 확인을 중지한 규칙의 수입니다. 메모리 제한은 정적 드라이버 검증 도구 옵션 파일 Sdv-default.xml 설정됩니다. 이 결과는 SDV의 제한으로 인해 발생합니다. 드라이버의 오류를 나타내지 않습니다. |
기타 |
SDV에서 복구할 수 없는 내부 오류가 발생한 횟수입니다. |