Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(441)

Side by Side Diff: tools/win/ShowThreadNames/ReadMe.txt

Issue 2713773002: ShowThreadNames tool to get thread ID/name pairs in a Chrome process (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 [Motivation]
2 This tool is designed to test the usage of the SetThreadDescription WinAPI in
3 Chrome. In Chrome, the SetThreadDescription API has been enabled to set thread
4 names. However, since there is no tool support to retrieve thread names set by
5 GetThreadDescription, we will still rely on SetNameInternal function in
6 platform_thread_win.cc to set thread names. Despite this, we need a tool to
7 demo the SetThreadDescription API works, even without the debugger to be present .
brucedawson 2017/02/23 01:57:26 One character too long... There are a few others t
chengx 2017/02/23 03:26:03 Done.
8
9 The problem setting can be referred to
10 https://bugs.chromium.org/p/chromium/issues/detail?id=684203
11
12 This tool incorporates the GetThreadDescription API trying to get names of all
13 threads in a process specified by its ID. If the thread names have been set by
14 SetThreadDescription API call like in Chrome, all thread ID/name pairs are
15 returned.
16
17 [Requirement]
18 Since SetThreadDescription/GetThreadDescription APIs are brought in Windows 10,
19 version 1607, this tool can only be effective if running in this version or
20 later ones.
21
22 [Complie the code]
brucedawson 2017/02/23 01:57:26 Typo
chengx 2017/02/23 03:26:03 Done.
23 When compiling the code after downloading the files (.cc, .sln, .vcxproj). You
24 may get compile error like "Cannot convert argument 1 from const wchar_t to
25 LPCSTR". If this happens, right click project "ShowThreadNames", go to
26 "Properties", then go to "General". In panel "Project Defaults", change to "Use
27 Unicode Character Set" in "Character Set" section.
brucedawson 2017/02/23 01:57:26 This should be stored in the project file so this
chengx 2017/02/23 03:26:03 Done.
28
29 [How to use it]
30 Run "ShowThreadNames.exe" either from the build direcotory or from Visual Studio .
brucedawson 2017/02/23 01:57:26 directory
chengx 2017/02/23 03:26:03 Done.
31 No parameters are needed. This tool allows interaction with users. Once launched ,
32 it will show "Please enter the process Id, or "quit" to end the program :" on th e
33 terminal. Simply type in the ID of any Chrome process you are interested in, and
34 you will get output like below:
35
36 thread_ID thread_name
37 12116
38 10292
39 6532
40 6928
41 2488
42 11304
43 2256 AudioThread
44 9308 BrokerEvent
45 5668 BrowserWatchdog
46 4352 Chrome_CacheThread
47 12268 Chrome_DBThread
48 8616 Chrome_FileThread
49 1072 Chrome_FileUserBlockingThread
50 8280 Chrome_HistoryThread
51 7472 Chrome_IOThread
52 6336 Chrome_ProcessLauncherThread
53 12212 CompositorTileWorker1/12212
54 3628 CrBrowserMain
55 6472 DnsConfigService
56 1980 IndexedDB
57 10560 TaskSchedulerBackgroundBlockingWorker0
58 11464 TaskSchedulerBackgroundWorker0
59 3156 TaskSchedulerForegroundBlockingWorker5
60 7660 TaskSchedulerForegroundWorker0
61 8216 TaskSchedulerServiceThread
62 11088 VideoCaptureThread
63
64 The threads have been sorted by their names. Note that some threads have
65 no names. If double checking them using Visual Studio debugger, it is
66 found that they are ntdll.dll thread in this example.
OLDNEW
« no previous file with comments | « no previous file | tools/win/ShowThreadNames/ShowThreadNames.cc » ('j') | tools/win/ShowThreadNames/ShowThreadNames.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698