GDIView v1.26 - View GDI handles/resources list and detect GDI leaks Copyright (c) 2007 - 2016 Nir Sofer |
See Also
- RegFromApp - Generate RegEdit .reg file from Registry changes made by application.
- RegDllView - View registered dll/ocx/exe files on your system
- HeapMemView - View the content of memory blocks allocated for the heap of each process.
- NK2Edit - Edit, merge and fix the AutoComplete files (.NK2) of Microsoft Outlook.
Description
This tool can be useful for developers that need to trace GDI resources leak in their software.
System Requirements
Known Limitations
- On 64-bit systems - GDIView cannot display extended information of 32-bit processes.
Versions History
- Version 1.26:
- Added 'Save All Items' menu item.
- Version 1.25:
- Added 2 new columns: 'Process Path' and 'Process User'.
- Removed the wrong XML encoding from the XML files.
- Version 1.20:
- Added 'Run As Administrator' option (Ctrl+F11), which allows you to easily run GDIView as administrator on Windows Vista/7/8/2008.
- Version 1.17:
- Fixed bug: When selecting smss.exe with 'Display Handle Extended Information' option turned on, Windows crashed with a blue screen.
- Version 1.16:
- Added 'Auto Size Columns+Headers' option, which allows you to automatically resize the columns according to the row values and column headers.
- Fixed issue: The properties dialog-box and other windows opened in the wrong monitor, on multi-monitors system.
- Version 1.15:
- Added 'Put Icon On Tray' option.
- Version 1.10:
- Added 'Detect Counter' column to the handles list in the lower pane. When handle is detected in the first time (new handle), this column displays '1'. This number is increased on every refresh that the same handle is still detected.
- Added 'Detected On' column, which displays the date/time that the handle was first detcted.
- Added 'Mark New Handle' option. When it's turned on, new detected handles (with Detect Counter = 1) are marked in pink color.
- Version 1.06:
- Fixed bug: On some Windows 7 systems, GDIView crashed the inspected process if the 'Display Handle Extended Information' was turned on.
- Version 1.05:
- Added 'GDI Total' column. (See the remark below)
- Version 1.04:
- Added sorting command-line options.
- Version 1.03:
- Fixed bug: The main window lost the focus when the user switched to another application and then returned back to GDIView.
- Version 1.02:
- Added option: Always On Top.
- Added support for saving comma-delimited (.csv) files.
- Version 1.01 - Fixed label size problems in 'Properties' and 'Choose Columns' windows.
- Version 1.00 - First release.
Using GDIView
The main window has 2 panes:
- The upper pane displays the GDI handles count for each process.
- The lower pane displays all GDI handles of the selected process in the upper pane.
The Upper Pane
You can view the counters in 3 modes:
- Show Counters Only (F2): Displays only the total counters of GDI handles
- Show Counters + Changes (F3): Displays the total counters of GDI handles, as well as the number of handles added (positive value) or released (negative value) since the last counters reset (F8).
- Show Changes Only (F4): Displays the number of handles added (positive value) or released (negative value) since the last counters reset (F8).
The Lower Pane
For each handle, the following information is displayed:
- Handle: The handle value of the GDI resource.
- Object Type: Bitmap, Brush, Pen, DC, and so on...
- Kernel Address: The memory address in Windows Kernel that contains the data structure of this handle. Regular Windows application cannot read from this address, only device drivers can access it. However, you can view the content this memory by using WinDbg in kernel debugging mode.
- Extended Information: Displays more information for brushes (color and style), pens (style/color/width), fonts (font name/width/height/weight), and bitmaps (width/height/bits per pixel).
By default, displaying the extended information is disabled. You can enable it by selecting 'Display Handle Extended Information' from the Options menu. Be aware that extracting the extended information is more aggressive than the regular mode, so it's recommended to use it only when you really need it.
'GDI Total' and 'All GDI' columns
The 'All GDI' value is taken from Windows API call (GetGuiResources), and it usually contains a value larger than 'GDI Total', probably because it also counts some internal kernel GDI objects that are not included in the GDI objects table of the process.
Command-Line Options
/stext <Filename> | Save the list of all GDI counters into a regular text file. |
/stab <Filename> | Save the list of all GDI counters into a tab-delimited text file. |
/scomma <Filename> | Save the list of all GDI counters into a comma-delimited text file. |
/stabular <Filename> | Save the list of all GDI counters into a tabular text file. |
/shtml <Filename> | Save the list of all GDI counters into HTML file (Horizontal). |
/sverhtml <Filename> | Save the list of all GDI counters into HTML file (Vertical). |
/sxml <Filename> | Save the list of all GDI counters to XML file. |
/sort <column> | This command-line option can be used with other save options for sorting by the desired column. If you don't specify this option, the list is sorted according to the last sort that you made from the user interface. The <column> parameter can specify the column index (0 for the first column, 1 for the second column, and so on) or the name of the column, like "Pen" and "Brush". You can specify the '~' prefix character (e.g: "~All GDI") if you want to sort in descending order. You can put multiple /sort in the command-line if you want to sort by multiple columns.Examples: GDIView.exe /shtml "f:\temp\gdi.html" /sort 2 /sort ~1 GDIView.exe /shtml "f:\temp\gdi.html" /sort "~Pen" |
/nosort | When you specify this command-line option, the list will be saved without any sorting. |
Translating GDIView to other languages
- Run GDIView with /savelangfile parameter:
GDIView.exe /savelangfile
A file named GDIView_lng.ini will be created in the folder of GDIView utility. - Open the created language file in Notepad or in any other text editor.
- Translate all string entries to the desired language. Optionally, you can also add your name and/or a link to your Web site. (TranslatorName and TranslatorURL values) If you add this information, it'll be used in the 'About' window.
- After you finish the translation, Run GDIView, and all translated strings will be loaded from the language file.
If you want to run GDIView without the translation, simply rename the language file, or move it to another folder.
License
Disclaimer
Feedback
Download GDIView |
Download GDIView - x64 releaset |
0 Comments