Line 132: |
|
= Appendix E: Windows Services Thread Dump Example = |
|
= Appendix E: Windows Services Thread Dump Example = |
|
An example set of steps to take a thread dump from a Windows Service. |
|
An example set of steps to take a thread dump from a Windows Service. |
- |
# Verify what processes are running on the system with both 'jps' and 'Windows Task Manager'
|
+ |
<table border=2 cellpadding=2 cellspacing=2 align=center>
|
- |
## [[Image:JPSTASKMAN.png|thumb|left|220px|alt=Screenshot showing JPS & Task Manager being ran to identify PIDs.|Screenshot showing JPS & Task Manager being ran to identify PIDs.]]
|
+ |
<tr><th>#</th><th>STEP</th><th>SCREENSHOT</th></tr>
|
- |
# Prepare the command in a high-quality text editor
|
+ |
<tr><td>1</td><td>Verify what processes are running on the system with both 'jps' and 'Windows Task Manager'</td><td>[[Image:JPSTASKMAN.png|thumb|left|150px|alt=Screenshot showing JPS & Task Manager being ran to identify PIDs.|Screenshot showing JPS & Task Manager being ran to identify PIDs.]]</td></tr>
|
- |
## [[Image:COMMANDCREATION.png|thumb|left|220px|alt=Forming the command in Notepad++|Forming the command in Notepad++]]
|
+ |
<tr><td>2</td><td>Prepare the command in a high-quality text editor</td><td>[[Image:COMMANDCREATION.png|thumb|left|150px|alt=Forming the command in Notepad++|Forming the command in Notepad++]]</td></tr>
|
- |
# Execute the command from an '''Administrative Command Prompt'''. Note that it has to be ran under an '''Administrative Command Prompt''' for full system access.
|
+ |
<tr><td>3</td><td>Execute the command from an '''Administrative Command Prompt'''. Note that it has to be ran under an '''Administrative Command Prompt''' for full system access.</td><td>[[Image:TRANSFER.png|thumb|left|150px|alt=Commands moved from Notepad++ to command prompt.|Commands moved from Notepad++ to command prompt.]]</td></tr>
|
- |
## [[Image:TRANSFER.png|thumb|left|220px|alt=Commands moved from Notepad++ to command prompt.|Commands moved from Notepad++ to command prompt.]]
|
+ |
<tr><td>4</td><td>Verify that scheduled tasks exist.</td><td>[[Image:VERIFICATION.png|thumb|left|150px|alt='at' commands exist|'at' commands exist]]</td></tr>
|
- |
# Verify that scheduled tasks exist.
|
+ |
<tr><td>5</td><td>Observe that thread dumps have been created in the location of your choice.</td><td>[[Image:DUMPSCREATED.png|thumb|left|150px|alt=Thread dumps and heap dumps have been created.|Thread dumps and heap dumps have been created.]]</td></tr>
|
- |
## [[Image:VERIFICATION.png|thumb|left|220px|alt='at' commands exist|'at' commands exist]]
|
+ |
<tr><td>6</td><td>Compress & Send in Supportal ticket.</td><td>[[Image:COMPRESSION.png|thumb|left|150px|alt=Thread dumps and heap dumps have been created and compressed.|Thread dumps and heap dumps have been created and compressed.]]</td></tr>
|
- |
# Observe that thread dumps have been created in the location of your choice.
|
+ |
</table>
|
- |
## [[Image:DUMPSCREATED.png|thumb|left|220px|alt=Thread dumps and heap dumps have been created.|Thread dumps and heap dumps have been created.]]
|
|
|
- |
# Compress & Send in Supportal ticket.
|
|
|
- |
## [[Image:COMPRESSION.png|thumb|left|220px|alt=Thread dumps and heap dumps have been created and compressed.|Thread dumps and heap dumps have been created and compressed.]]
|
|
|
|
|
|
|
- |
== Weird JMAP Behavior ==
|
|
|
- |
Some versions of Java's jmap have the '''[option]''' and '''[pid]''' fields reversed, so the correct syntax would be:
|
|
|
|
|
|
|
- |
:* Alternate: <font face=monospace>jmap.exe 3932 -dump:format=b</font>
|
|
|
- |
:* Original: <font face=monospace>jmap.exe -dump:format=b 3932</font>
|
|
|