Thoughts from the EPS Windows Server Performance Team
Useful Microsoft Blogs
Hi all, and welcome to Day 21 in our Windows 7 / Windows Server 2008 R2 Launch Series. Tomorrow is the big day! To wrap up our Launch Series, I want to talk today about a really cool tool included in Windows 7 and Windows Server 2008 R2 called Problem Steps Recorder. I am sure we have all had situations where we needed to be able to reproduce a complex issue and just can’t seem to get it. Often we work with end users, who may be across the country (or planet) from us, and need to be able to understand what they are doing that results in something that we need to fix. Working through steps over the phone can be problematic at best, and connecting remotely to see what is happening on the other end is often not feasible. Enter Problem Steps Recorder.
Problem Steps Recorder is a tool that collects and records basically everything you do within a certain scenario and packages it up for easy transport. Problem Steps Recorder can be invoked by clicking the handy Start button and typing in “Problem Steps Recorder” or PSR. Just click and it will then launch the application, which should look like this:
Then, you just click the Start Record button and reproduce the problem. When you are done, click the Stop Record button and it will automatically collect the data and save it as a .ZIP file for easy upload. Inside the ZIP file will be a file with a name similar to Problem_20090924_1612.mht. This is a web page archive file and can be opened in Internet Explorer. I used an application called BadApp32.exe which is just a small app that crashes when you run it. Once I ran Problem Steps Recorder and ran the app to cause the crash, I stopped recording and then viewed the MHT file. Here is what the output web page looks like:
This file contains all the steps and information that was recorded to help you describe the problem to others.
Before sharing this file, you should verify the following:
Passwords or any other text you typed were not recorded, except for function and shortcut keys that you used.
You can do the following:
Problem Step 1: (9/24/2009 4:28:55 PM) User Comment: "I double-clicked this icon."
Problem Step 2: (9/24/2009 4:28:57 PM) User left double click on "Badapp32.exe (list item)"
Problem Step 3: (9/24/2009 4:29:26 PM) User Comment: "Then, I click the little picture of the bomb."
Problem Step 4: (9/24/2009 4:29:28 PM) User left click in "Bad App"
Problem Step 5: (9/24/2009 4:29:53 PM) User Comment: "This causes the application to crash."
Problem Step 6: (9/24/2009 4:29:55 PM) User left click on "Close program (push button)" in "Badapp32.exe"
The following section contains the additional details that were recorded that can help find a solution for your problem.
These details help accurately identify the programs and UI you used while recording the problem steps.
This section may contain text that is internal to programs that only very advanced users or programmers may understand.
Please review these details to ensure that they do not contain any information that you would not like others to see.
Recording Session: 9/24/2009 4:28:29 PM - 4:29:56 PM
Problem Steps: 6, Missed Steps: 0, Other Errors: 0
Operating System: 7600.16385.x86fre.win7_rtm.090713-1255 126.96.36.199.2.1
Problem Step 1: User Comment: "I double-clicked this icon."
Problem Step 2: User left double click on "Badapp32.exe (list item)"
Program: Windows Explorer, 6.1.7600.16385 (win7_rtm.090713-1255), Microsoft Corporation, EXPLORER.EXE, EXPLORER.EXE
UI Elements: Badapp32.exe, FolderView, SysListView32, SHELLDLL_DefView, WorkerW
Problem Step 3: User Comment: "Then, I click the little picture of the bomb."
Problem Step 4: User left click in "Bad App"
Program: BADAPP32.EXE, BADAPP32.EXE
UI Elements: Bad App, BadApp
Problem Step 5: User Comment: "This causes the application to crash."
Problem Step 6: User left click on "Close program (push button)" in "Badapp32.exe"
Program: Windows Problem Reporting, 6.1.7600.16385 (win7_rtm.090713-1255), Microsoft Corporation, WERFAULT.EXE -U -P 3520 -S 224, WERFAULT.EXE
UI Elements: Close program, &Close program, Button, CtrlNotifySink, DirectUIHWND, Badapp32.exe, #32770
The output describes what the user did as well as screen shots of what was going on at the time. In addition, the screenshots included are clickable to view full size. You may also notice that some of the pictures include an entry called User Comment above them. PSR has an additional button titled Add Comment. When you click this button, it allows you to highlight an area of the screen and type in a comment. This allows you to specify additional comments to the repro steps to make it easier to follow during a complex recording. The section at the bottom of the page above describes in text exactly what you did at each step, what program was involved and what UI elements were invoked.
The repro I did was very small and pretty much included nothing more than running an app and then clicking inside the app to cause it to crash. However, you can use Problem Steps Recorder to record much longer or more complex scenarios, and it will track everything you did between the time you click the Start Record and Stop Record buttons. This makes Problem Steps Recorder a powerful tool in your bag of tricks. As soon as you can get your hands on Windows 7 or Windows Server 2008 R2, I recommend playing around with this tool and as soon as you do I am sure you will be able to find plenty of scenarios to use it.
Problem Steps Recorder Command-Line Syntaxpsr.exe [/start |/stop][/output <fullfilepath>] [/sc (0|1)] [/maxsc <value>] [/sketch (0|1)] [/slides (0|1)] [/gui (0|1)] [/arcetl (0|1)] [/arcxml (0|1)] [/arcmht (0|1)] [/stopevent <eventname>] [/maxlogsize <value>] [/recordpid <pid>] /start Start Recording. (Outputpath flag SHOULD be specified)/stop Stop Recording./sc Capture screenshots for recorded steps./maxsc Maximum number of recent screen captures./maxlogsize Maximum log file size (in MB) before wrapping occurs./gui Display control GUI./arcetl Include raw ETW file in archive output./arcxml Include MHT file in archive output./recordpid Record all actions associated with given PID./sketch Sketch UI if no screenshot was saved./slides Create slide show HTML pages./output Store output of record session in given path./stopevent Event to signal after output files are generated. PSR Usage Examples:psr.exepsr.exe /start /output fullfilepath.zip /sc1 /gui 0 /record <PID> /stopevent <eventname> /arcetl 1 psr.exe /start /output fullfilepath.xml /gui 0 /recordpid <PID> /stopevent <eventname> psr.exe /start /output fullfilepath.xml /gui 0 /sc 1 /maxsc <number> /maxlogsize <value> /stopevent <eventname>psr.exe /start /output %temp%\%computername%_PSR.zip /sc 1 /gui 1 /arcetl 1 /arcxml 1 /sketch 1 /slides 1 psr.exe /stop
So, that is all for this post, thanks again for tuning in. Remember – LAUNCH DAY is tomorrow!
- Tim Newton
Tim thanks for this step guide.
Is there any way to start this step recorder on boot up without user log in.
My MBP has started to give me 2x BSOD (ACP_Index_MISMATCH or something similar) each time i start up in windows before it get stable, so wanted to get some more info on cause of this.
RC ran on it without any issue and i am sure it's not harware related as nothing has changed.
In software i do have 1 major diff that i was able to install MS Virtual Server 2005 R2 SP2, as it is not supported i suspect it is the culprit but want to make sure, rest of the software is standard dev (VS, SQL, Office etc)
Unfortunately, no. PSR runs as a standard user mode process, just like Notepad or Calculator. It has no way of logging boot information since it can only be ran after Windows comes up. If you are getting a bugcheck on boot, the only way to tell what is going on is to debug the dump or debug it live via a live kernel debug.
This problem has started occuring to me also, disconnect any external USB devices such as external HDDs, external CD Drives, and Flash Drives. I noticed my BSOD only occurs when I insert a USB device with a data volume on it such as a HDD or Flash Drive. I can hook a External CD drive up just fine but once I put a CD or DVD in it and Windows 7 reads the data I once again BSOD with 0x00000001 ACP_INDEX_MISMATCH. Also, I have noticed that my Hibernate feature no longer works and will just go to a blank screen, stop resonding, and never shuts off.
Try the above as a basic diagnostic test to help eliminate or narrow down your problem
Jordan M. Jacob
Very nice and useful tool. Would it be possible to install it on othe OSs (Vista or XP).
Doing a lot of support, so I can see a benefit on this !
Wow! Really cool tool. I recently bought my 1st (brand new) laptop which has windows 7 and i probably never would have known this program even existed. I just typed PSR in the search box and "waa laa" there it was. Thanks for the info.
I Started the recoed and stopped while saving the session my system had been restarted suddenly, canyou please guide whether Can I retrieve the recorded session?, If so How?
I have an installation of W2008R2, and psr.exe is not there. Is it a feature to be added?
PSR.exe should be located under %windir%\SysWOW64 & %windir%\System32. It should be there by default.
I use automatic command line testing of installaers with reboots so it would be nice to have continuation after reboots. Presumably by exe name rather than Process ID as the process ID will have changed.
It would also be nice if PSR /? or PSR /HELP listed the commandline options.
Hi, thanks for this valuable post.
can you please explain a bit more like when i login to the group member the eroor message came ""Logon Group Policy Client service failed. Forbidden"".
what for this is.
Advice would be indeed accepteable
i cant find how to bring that psr at a windows server enterprise, some one does?