How to get Page Fault Monitor

Navigation: »No topics above this level«

How to get Page Fault Monitor

 Return to chapter overview

Page Fault Monitor is free for commercial use. Page Fault Monitor can be downloaded for Software Verify's website at https://www.softwareverify.com/product/page-fault-monitor/.

This help manual is available in Compiled HTML Help (Windows Help files), PDF, and online.

Windows Help | https://www.softwareverify.com/documentation/chm/pageFaultMonitor.chm
PDF | https://www.softwareverify.com/documentation/pdfs/pageFaultMonitor.pdf
Online | https://www.softwareverify.com/documentation/html/pageFaultMonitor/index.html

Whilst Page Fault Monitor is free for commercial use, Page Fault Monitor is copyrighted software and is not in the public domain.

You are free to use the software at your own risk.

You are not allowed to distribute the software in any form, or to sell the software, or to host the software on a website.

Contact

Contact Software Verify at:

Software Verify Limited

Suffolk Business Park

Eldo House

Kempson Way

Bury Saint Edmunds

IP32 7AR

United Kingdom

email | sales@softwareverify.com
web | https://www.softwareverify.com
blog | https://www.softwareverify.com/blog
twitter | http://twitter.com/softwareverify

Visit our blog to read our articles on debugging techniques and tools.

Follow us on twitter to keep track of the latest software tools and updates.


What does Page Fault Monitor do?

What does Page Fault Monitor do?

 Return to chapter overview

Page Fault Monitor allows you to view page fault data for a specific application in real time.

History

Page Fault Monitor has been an internal tool at Software Verify for many years. We recently decided to make it a bit more user friendly and to make it available for public use.


Menu

Menu

The main menu contains four menus, File, Edit, Software Updates and Help.


File

Navigation: Menu >

File

 Return to chapter overview

The File menu controls the monitoring of processes for Page Faults.

File menu instructionStep Monitor a Process... instructionStep choose a process and start monitoring it for page faults.

File menu instructionStep Stop Monitoring instructionStep stop monitoring a process for page faults.

File menu instructionStep View DLLs instructionStep view information about the DLLs in the process.

File menu instructionStep Exit instructionStep closes Page Fault Monitor.


Edit

Navigation: Menu >

Edit

 Return to chapter overview

The Edit menu controls editing settings.

Settings menu instructionStep Edit Settings... instructionStep displays the settings dialog.


Software Updates

Navigation: Menu >

Software Updates

 Return to chapter overview

The Software Updates menu controls how often software updates are downloaded.

If you've been notified of a new software release to Page Fault Monitor or just want to see if there's a new version, this feature makes it easy to update.

menu Software Updates menu instructionStep Check for software updates instructionStep checks for updates and shows the software update dialog if any exist

An internet connection is needed to be able to make contact with our servers.

note Before updating the software, close the help manual, and end any active session by closing target programs.

If no updates are available, you'll just see this message:

Software Update dialog

If a software update is available for Page Fault Monitor you'll see the software update dialog.

·Download and install instructionStep downloads the update, showing progress

Once the update has downloaded, Page Fault Monitor will close, run the installer, and restart.

You can stop the download at any time, if necessary.

·Don't download... instructionStep Doesn't download, but you'll be prompted for it again next time you start Page Fault Monitor

·Skip this version... instructionStep Doesn't download the update and doesn't bother you again until there's an even newer update

·Software update options... instructionStep edit the software update schedule

Problems downloading or installing?

If for whatever reason, automatic download and installation fails to complete:

·Download the latest installer manually from the software verify website.

Make some checks for possible scenarios where files may be locked by Page Fault Monitor as follows:

·Ensure Page Fault Monitor and its help manual is also closed

·Ensure any error dialogs from the previous installation are closed

You should now be ready to run the new version.

Software update schedule

Page Fault Monitor can automatically check to see if a new version of Page Fault Monitor is available for downloading.

menu Software Updates menu instructionStep Configure software updates instructionStep shows the software update schedule dialog

The update options are:

·never check for updates

·check daily (the default)

·check weekly

·check monthly

The most recent check for updates is shown at the bottom.

Software update directory

It’s important to be able to specify where software updates are downloaded to because of potential security risks that may arise from allowing the TMP directory to be executable. For example, to counteract security threats it's possible that account ownership permissions or antivirus software blocks program execution directly from the TMP directory.

The TMP directory is the default location but if for whatever reason you're not comfortable with that, you can specify your preferred download directory. This allows you to set permissions for TMP to deny execute privileges if you wish.

menu Software Updates menu instructionStep Set software update directory instructionStep shows the Software update download directory dialog

An invalid directory will show the path in red and will not be accepted until a valid folder is entered.

Example reasons for invalid directories include:

·the directory doesn't exist

·the directory doesn't have write privilege (update can't be downloaded)

·the directory doesn't have execute privilege (downloaded update can't be run)

note When modifying the download directory, you should ensure the directory will continue to be valid. Updates may no longer occur if the download location is later invalidated.

·Reset instructionStep reverts the download location to the user's TMP directory

The default location is c:\users\[username]\AppData\Local\Temp


Help

Navigation: Menu >

Help

 Return to chapter overview

The Help menu controls displaying this help document and displaying information about Page Fault Monitor.

Help menu instructionStep About Page Fault Monitor... instructionStep displays information about Page Fault Monitor.

Help menu instructionStep Readme and Version History... instructionStep displays the readme and version history.

Help menu instructionStep Help Topics... instructionStep displays this help file.

Help menu instructionStep Help PDF... instructionStep displays this help file in PDF format.

Help menu instructionStep Help on softwareverify.com... instructionStep display the Software Verify documentation web page where you can view online documentation or download compiled HTML Help and PDF help documents.

Help menu instructionStep Blog... instructionStep display the Software Verify blog.

Help menu instructionStep Library... instructionStep display the Software Verify library - our best blog articles grouped by related topics.

Help menu instructionStep Contact customer support... instructionStep displays the options for contacting customer support.

Click a link to contact customer support.

Help menu instructionStep How do I?... instructionStep displays the options for asking us how to do a particular task.


The user Interface

The user Interface

The user interface of Page Fault Monitor is shown below.

The top list shows all unique addresses that caused page faults for the monitored process.

The bottom list shows the page fault information associated with any address in the top list. Select an address in the top list and the related data is shown below. For any addresses that we can determine the DLL, symbol, filename and line number, we display that information in the source code window at the bottom of the display.

Above the top list various Virtual Memory status values are shown indicating virtual size, working set size, page file usage and various quota values. The total page fault count for the application is also shown, this value will be different from the number of page faults that Page Fault Monitor has information about. The reason the two values are different is that Page Fault Monitor displays the information Windows NT provides about page faults. Windows NT only stores a limited amount of data about page faults. Once this storage is used up, no more data is stored until after Page Fault Monitor has asked for the stored data. If Page Fault Monitor does not ask for the data frequently enough some information will be discarded by Windows NT.

·To change the interval at which Page Fault Monitor asks Windows NT for information about page faults, adjust the Update Interval combo box. The shorter the interval, the more accurate the information collected about page faults.

·To prevent the page fault list from being updated by the timer, change the combo value to No Update. When No Update is chosen, the Refresh button is enabled.

·To Refresh the processes list and the page fault list, click the Refresh button.

The picture shown below shows Page Fault monitor monitoring memoryValidator_x64.exe.

This picture shows process 5748 (memoryValidator_x64.exe) is being monitored for page faults. Page Fault Monitor has collected information about 598 page faults caused by memoryValidator_x64.exe. The top list shows information about the page faults. The list displays the addresses of all instructions that have caused page faults. The Count column indicates how many times this address has caused a page fault.

When displaying information about instructions, Page Fault Monitor will try to display DLL name, symbol, filename and line number, with the latter being taken from debug information.

Selecting an address in the top list causes information about the page faults at that address to be shown in the bottom list. The source code and symbol information (if known) is also displayed.

Note that the Page Fault count of 85535 is higher than the numbers monitored by Page Fault Validator because memoryValidator_x64.exe in this example has been running for a very long time, whereas Page Fault Monitor has been running for a few minutes.


Settings dialog

Settings dialog

The settings dialog allows you to configure how Page Fault Monitor gets symbol information.

Symbol Search Paths

We use debug information found in PDB files to turn addresses into human readable symbols, filenames and lines.

By default there is one path in the symbol search paths: c:\windows\symbols\dll.

If you wish to add more paths to symbols you can add or remove them using the Add..., Remove and Remove All buttons.

You can restore the default symbol paths using the Set Default button.

Symbol Server

If the symbol server is enabled (Use Symbol Server) Page Fault Monitor will download symbols using a symbol server.

Symbols are downloaded to a Symbol Directory. This directory must be valid for the symbol server to work. You can type the directory name or click Browse... to use the Microsoft folder browser to select the directory.

Microsoft DLLs

For Microsoft DLLs that are found in the Windows System32 directory we download symbols from Microsoft's symbol server:

http://msdl.microsoft.com/download/symbols

None Microsoft DLLs

For none Microsoft DLLs we download symbols from the symbol server specified on the settings dialog in the Symbol Server field.

You can set the symbol server to it's default value using the Set Default button.

Please note that if you have symbol servers enabled there may be a delay in providing symbol information the first symbols for a specific DLL are downloaded from the symbol server.

Reset

You can reset the settings to their default state at any time by clicking Reset.


Symbol Paths

Navigation: Settings dialog > Symbols >

Symbol Paths

 Return to chapter overview

The Symbols settings allow you to specify where Exception Tracer looks for symbols.

Manually adding path type directories

The Path list shows all the paths that will be searched for debug information in PDB files.

You can modify the list of files for each path type in the following ways:

·Add instructionStep appends a row to the directory list instructionStep enter the directory path

Edit a directory path by double clicking the entry. The usual controls apply for removing list items:

·Remove instructionStep removes selected items from the list

·Remove All instructionStep clears the list

·Set Default instructionStep adds all valid directories found in the _NT_SYMBOL_PATH environment variable, plus the Windows symbols directory

Alternatively, press [image] to delete selected items, and [image] + [image] to select all items in the list first.

Reset - Resets all global settings, not just those on the current page. This includes removing any symbol servers added.


Symbol Server

Navigation: Settings dialog > Symbols >

Symbol Server

 Return to chapter overview

The Symbol Server settings allow you to specify what symbol servers to use.

note You do not need to specify a symbol server if you do not wish to, and Exception Tracer will work correctly without a symbol server.

Symbol server

The symbol server is entirely optional, but is useful for obtaining symbols from a centralized company resource or for obtaining operating symbols from Microsoft.

The default symbol server is the Microsoft symbol server used for acquiring symbols about Microsoft's operating system DLLs. You may also wish to add some symbol servers for any software builds in your organisation.

A symbol server is defined by at least the following:

·the symbol server dll to be used to handle the symbol server interaction

·a directory location where symbol definitions are saved

·the server location - a url

The symbol server can be enabled or disabled allowing you to keep multiple symbol server configurations available without constantly editing their definitions.

Reset - Resets all global settings, not just those on the current page. This includes removing any symbol servers added.


Source Paths

Navigation: Settings dialog > Misc >

Source Paths

 Return to chapter overview

The Source Paths settings allow you to specify where Exception Tracer looks for source code files.

The source code paths are used when a filename is incomplete - a filename without a path, a filename with a partial path, or a filename that isn't valid on this machine.

Manually adding path type directories

The Path list shows all the paths that will be searched for source code files.

You can modify the list of files for each path type in the following ways:

·Add instructionStep appends a row to the directory list instructionStep enter the directory path

Edit a directory path by double clicking the entry. The usual controls apply for removing list items:

·Remove instructionStep removes selected items from the list

·Remove All instructionStep clears the list

·Set Default instructionStep adds all valid directories found in the PATH environment variable

Alternatively, press [image] to delete selected items, and [image] + [image] to select all items in the list first.

Reset - Resets all global settings, not just those on the current page. This includes removing any symbol servers added.


Choosing a process to monitor

Choosing a process to monitor

The Process Chooser allows you to choose which process you will monitor for Page Faults.

·System processes / Services / User processes instructionStep show either of system or services or user processes in the list, or both

·Full path instructionStep shows the full path to the process executable in the list

·Image Name instructionStep shows the short program name without path

·Refresh instructionStep update the list with currently running processes

·Attach instructionStep start monitoring page faults in the selected process

Administrator Mode

It is not possible to monitor some applications for page faults unless Page Fault Monitor is running in Administrator Mode.

Applications needing Administrator Mode to be monitored as denoted by a shield icon displayed in the Admin column of the grid.

If you try to monitor an application needing Administrator Mode you will be prompted to relaunch Page Fault Monitor in Administrator Mode.


Viewing the list of DLLs

Viewing the list of DLLs

The Process DLLs dialog allows you to view the list of DLLs in the process being monitored.

The display consists of a list of DLL information, with information for each DLL displayed on one line.

The information displayed is DLL name, load address, DLL size and the full path to the DLL.

The display can be sorted by each column. Click the column header to choose which column to sort the data. Click the same column again to reverse the sort direction.


How to use Page Fault Monitor

How to use Page Fault Monitor

Select a process to monitor

Use the File > Monitor a Process... option to choose a process to monitor

The grid displays page fault data as page faults are detected.

Page fault addresses are converted to symbols according to the settings.

Select a symbol to see information about the line numbers and source code and pages that were faulted at this address.

Please note that if you have symbol servers enabled there may be a delay in providing symbol information the first symbols for a specific DLL are downloaded from the symbol server.