[Spice-devel] [PATCH v2 4/4] qxl-wddm-dod: Add scripts for ETW recording and parsing

Christophe Fergeau cfergeau at redhat.com
Fri Jul 7 11:00:45 UTC 2017


On Thu, Jul 06, 2017 at 01:22:58AM +0300, Yuri Benditovich wrote:
> QxlDodCollectTrace.bat intended for recording of binary traces
> in end-user environment (end-user runs it when instructed).
> It uses built-in Windows ability of collecting ETW data.
> QxlDodParseTrace.bat is to be used by developer to convert
> received binary traces to formatted text.
> 
> Signed-off-by: Yuri Benditovich <yuri.benditovich at daynix.com>
> ---
>  QxlDodCollectTrace.bat | 31 +++++++++++++++++++++++++++++++
>  QxlDodParseTrace.bat   | 10 ++++++++++
>  2 files changed, 41 insertions(+)
>  create mode 100644 QxlDodCollectTrace.bat
>  create mode 100644 QxlDodParseTrace.bat
> 
> diff --git a/QxlDodCollectTrace.bat b/QxlDodCollectTrace.bat
> new file mode 100644
> index 0000000..29ccde5
> --- /dev/null
> +++ b/QxlDodCollectTrace.bat
> @@ -0,0 +1,31 @@
> +:: Place this script to any writable directory
> +:: on the machine and run it as administrator
> +:: recorded binary file qxldod.etl will be created in the same directory
> +:: 
> +:: parameter "4" in 'logman update' sets logging level to INFO
> +:: change it to "5" for VERBOSE
> +:: 
> +
> + at echo off
> +
> +net session >nul 2>&1
> +if %errorlevel% equ 0 goto :admin_ok
> +echo This script shall run with administrator rights
> +pause
> +goto :eof
> +
> +
> +:admin_ok
> +pushd "%~dp0"
> +logman stop qxldod -ets >nul 2>&1
> +logman delete qxldod -ets >nul 2>&1
> +logman create trace qxldod -o qxldod.etl -ow -ets 
> +logman update qxldod -p {756ABE50-54E3-4A05-B5BB-F0112C75B18A} 0x7fffffff 4 -ets
> +echo Recording started.
> +echo Reproduce the problem, then press ENTER
> +pause > nul
> +logman stop qxldod -ets
> +dir qxldod.etl
> +echo Please collect qxldod.etl file now
> +pause
> +popd
> diff --git a/QxlDodParseTrace.bat b/QxlDodParseTrace.bat
> new file mode 100644
> index 0000000..8237ec0
> --- /dev/null
> +++ b/QxlDodParseTrace.bat
> @@ -0,0 +1,10 @@
> + at echo off
> +set tmpname=%temp%\%RANDOM%%RANDOM%%RANDOM%.tmp
> +if "%~1" equ "" goto :usage
> +if "%~2" equ "" goto :usage
> +"C:\Program Files (x86)\Windows Kits\10\tools\x86\traceview.exe" -process "%~1" -o %tmpname% -pdb "~2" -nosummary

Fwiw, fairly hardcoded path here.

> +start notepad %tmpname%

Why is this going through notepad? Quick search for traceview showed
some nice GUI
https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/trace-message-lists
is that a different tool/purpose?
If this script is meant for developers, is it really useful to have it,
rather than having some link explaining how to work with trace files?

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20170707/3d00767d/attachment.sig>


More information about the Spice-devel mailing list