Вход в 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/

Другие вопросы по тегам