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

Unified Diff: tools/win/ShowThreadNames/ReadMe.txt

Issue 2713773002: ShowThreadNames tool to get thread ID/name pairs in a Chrome process (Closed)
Patch Set: Fix nits. Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/win/ShowThreadNames/.gitignore ('k') | tools/win/ShowThreadNames/ShowThreadNames.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/win/ShowThreadNames/ReadMe.txt
diff --git a/tools/win/ShowThreadNames/ReadMe.txt b/tools/win/ShowThreadNames/ReadMe.txt
new file mode 100644
index 0000000000000000000000000000000000000000..63aa0cf8243d034afe0c19250ec420c9286e7dfd
--- /dev/null
+++ b/tools/win/ShowThreadNames/ReadMe.txt
@@ -0,0 +1,61 @@
+[Motivation]
+This tool is designed to test the usage of the SetThreadDescription WinAPI in
+Chrome. In Chrome, the SetThreadDescription API has been enabled to set thread
+names. However, since there is no tool support to retrieve thread names set by
+GetThreadDescription, we will still rely on SetNameInternal function in
+platform_thread_win.cc to set thread names. Despite this, we need a tool to
+demo the SetThreadDescription API works, even without the debugger to be
+present.
+
+The problem setting can be referred to
+https://bugs.chromium.org/p/chromium/issues/detail?id=684203
+
+This tool incorporates the GetThreadDescription API trying to get names of all
+threads in a process specified by its ID. If the thread names have been set by
+SetThreadDescription API call like in Chrome, all thread ID/name pairs are
+returned.
+
+[Requirement]
+Since SetThreadDescription/GetThreadDescription APIs are brought in Windows 10,
+version 1607, this tool can only be effective if running in this version or
+later ones.
+
+[How to use it]
+Please download the three files (.cc, .sln, .vcxproj) and compile the code in
+Visual Studio. Run "ShowThreadNames.exe" either from the build directory or
+from Visual Studio. No parameters are needed. This tool allows interaction
+with users. Once launched, it will show "Please enter the process Id, or
+"quit" to end the program :" on the terminal. Simply type in the ID of any
+Chrome process you are interested in, and you will get output like below:
+
+thread_ID thread_name
+12116
+10292
+6532
+6928
+2488
+11304
+2256 AudioThread
+9308 BrokerEvent
+5668 BrowserWatchdog
+4352 Chrome_CacheThread
+12268 Chrome_DBThread
+8616 Chrome_FileThread
+1072 Chrome_FileUserBlockingThread
+8280 Chrome_HistoryThread
+7472 Chrome_IOThread
+6336 Chrome_ProcessLauncherThread
+12212 CompositorTileWorker1/12212
+3628 CrBrowserMain
+6472 DnsConfigService
+1980 IndexedDB
+10560 TaskSchedulerBackgroundBlockingWorker0
+11464 TaskSchedulerBackgroundWorker0
+3156 TaskSchedulerForegroundBlockingWorker5
+7660 TaskSchedulerForegroundWorker0
+8216 TaskSchedulerServiceThread
+11088 VideoCaptureThread
+
+The threads have been sorted by their names. Note that some threads have
+no names in this example. If checking them using Visual Studio debugger, it
+is found that they are ntdll.dll!WorkerThreads.
« no previous file with comments | « tools/win/ShowThreadNames/.gitignore ('k') | tools/win/ShowThreadNames/ShowThreadNames.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698