Вход в Gpuview с Cygwin не работает
Когда я бегу log.cmd
из командной строки Windows, я получаю ошибки от xperf
говоря, что *.etl
Файл уже существует. Я понимаю, что другие процессы также используют Windows ETL и так как gpuview
использования xperf
чтобы отследить события, он в некотором смысле "сталкивается". Тем не менее, я получаю массу файлов ETL, которые объединяются при запуске log.cmd
снова.
Я ненавижу использовать cmd
и попытался сделать то же самое с cygwin bash
, Я получаю похожие ошибки, но за исключением DXCstate.etl
Я больше ничего не вижу.
Я использую терминал с привилегиями администратора и log.cmd
имеет 755 привилегий.
$ ./log.cmd
Xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7).
Xperf: error: DxTest: Cannot create a file when that file already exists. (0xb7).
Xperf: error: DxLogger: Cannot create a file when that file already exists. (0xb7).
The trace you have just captured "C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\gpuview\DXCState.etl" may contain personally identifiable information, including but not necessarily limited to paths to files accessed, paths to registry accessed and process names. Exact information depends on the events that were logged. Please be aware of this when sharing out this trace with other people.
Xperf: error: DxcStackLogger: Cannot create a file when that file already exists. (0xb7).
Xperf: error: DxcLogger: Cannot create a file when that file already exists. (0xb7).
Xperf: error: UMDLogger: Cannot create a file when that file already exists. (0xb7).
Xperf: error: DXGILogger: Cannot create a file when that file already exists. (0xb7).
Xperf: error: Dx11Logger: Cannot create a file when that file already exists. (0xb7).
Xperf: error: D3D10Level9Logger: Cannot create a file when that file already exists. (0xb7).
Xperf: error: MFLogger: Cannot create a file when that file already exists. (0xb7).
Xperf: error: OLogger: Cannot create a file when that file already exists. (0xb7).
Xperf: error: XAMLLogger: Cannot create a file when that file already exists. (0xb7).
Xperf: error: D2DLogger: Cannot create a file when that file already exists. (0xb7).
Xperf: error: D2DScenariosLogger: Cannot create a file when that file already exists. (0xb7).
$ ls
DXCState.etl* DxEtw.dll* EventsForStackTrace.txt* dota2/ GPUView.chm* GPUView.exe*
LDDMCore.man* log.cmd* plugins/ README.TXT* tplugins/ UMDEtw.man*
1 ответ
Если вы посмотрите в log.cmd, вы увидите, что каждый регистратор связан с именем файла. Например, у нас есть эта строка:
"% ~ dp0".. \ Xperf -start DxcLogger -on% TRACE_DXC_MIN%% TRACE_LARGE_BUFFERS% -f DXC.etl
Если вы можете выдать ошибку "Невозможно создать файл, когда этот файл уже существует", то это означает, что DXC.etl уже существует, что означает, что предыдущий вызов log.cmd не завершился корректно и не прекратил запись в этот файл. Вы, вероятно, отменили пакетный файл с помощью Ctrl+C. Это не конфликт с Process Explorer или Resource Monitor, потому что те не будут использовать DXC.etl в частности.
Итак, перезагрузите компьютер, чтобы вернуться в нормальное состояние, и будьте осторожны с остановкой log.cmd в середине его работы.
Кроме того, просто прекратите использовать log.cmd. Вместо этого используйте wprui.exe. Смотрите этот блог для деталей:
http://randomascii.wordpress.com/2013/04/20/xperf-basics-recording-a-trace-the-easy-way/