Logging program crashes and freezes using Inspector IIXII
Important note: Inspector IIXII version 3.0 and up can be used to create a report when a program freezes/hangs or uses too much CPU. Details can be found towards the end of this article. You can upgrade from previous versions by simply replacing your current inspectr.exe file.
Inspector IIXII is a small assembler program written by Axel Siebert to log crash data which is more useful than the standard Windows crash reports, and can also be used to write the state of a running process into a log, making it possible to analyze why a program freezes/hangs or uses too much CPU. It can be used with any program, including Opera.
Inspector IIXII logs can be useful to find out why a program crashes or freezes, and thus fix the bug in the code.
PRIVACY NOTICE: Inspector writes everything currently in memory to the log file. The data will only be used to analyze the reported crash bug. See our privacy policy for more information.1. Installing and using Inspector IIXII
The file inspectr.exe is a standalone program which can be placed anywhere on your hard disk. To install, simply run the program and confirm that you want it to log program crashes. It will not install or write any additional files to your disk, apart from the log files.
- Crashes: Once installed, Inspector IIXII will automatically log any program crashes, and inform you when a crash occurs.
- Freezes: To create a status log when a program has frozen up or uses too much CPU, start Windows Task Manager in Windows 2000/XP, right-click the process under the "Processes" tab and choose "Debug". Windows 9x/Me users will have to use Process Explorer to do this.
The logs for both crashes and freezes have file names in the format crash[date/time].log. Freeze logs are written to your Windows Desktop, while crash logs can be found in one of three locations, depending on what you choose on install: your system's temp directory, the Inspector IIXII program directory or your Windows Desktop. Every time a crash occurs, Inspector IIXII will write a new log with the current date and time to avoid overwriting older logs. Inspector IIXII will give you the full path to the crash log when it reports that a program crashes, so please take note of this path.
The temp directory on Windows 9x/Me systems is usually C:\Windows\Temp. On Windows NT, 2000 and XP systems, each user has its own temp directory. If you want to find your temp folder, you can enter the following command on the Windows command prompt:
echo %temp%
This will print out your system's temp folder from the "%temp%" variable set in your system.
2. Reporting crashes
Please read: How to report crashes in Opera
More information: The crash log itself can be over 1MB in size, but the full report contains a lot of information which will only be useful if the crash hasn't already been reported by someone else.
When reporting crashes initially, it is only necessary to report enough information for developers to figure out if the crash is a known bug already. If you open the log in a text editor, only the very first lin e of the log will be necessary at first.
The rest of the text will be useful if the crash is a new or unknown crash bug.
The log file should compress well, so it is a good idea to compress it before sending it. If possible, we prefer that the file is compressed using 7-Zip, otherwise RAR or ZIP is also fine.
3. Removing/uninstalling Inspector IIXII
You can disable the logging by simply running inspectr.exe again and confirming that you no longer want it to log crashes. Windows will then return to its normal crash handling. No trace of Inspector IIXII will be left on your system after disabling it, except for the inspectr.exe program file and any crash or freeze logs generated by the program.
To re-enable it, run the program again.
4. Changelogs
- Changes from v3.1 to v3.2 (3.2 released on 2007-10-09)
- Inspector now correctly dumps the crashed thread in a multithreaded application instead of always dumping the main thread.
- Bugfix: DLL information will be correctly dumped in crash logs generated when Inspector is already attached (by making a freeze log earlier).
- Changes from v3.0 to v3.1 (3.1 released on 2007-05-11)
- Bugfix: Inspector will no longer crash when parsing the version information of certain DLLs.
- Changes from v2.6 to v3.0 (3.0 released on 2007-01-15)
- Dump the state of a running process into a log. This can be used when a program doesn't crash, but hangs or just uses up too much CPU, to check where it's stuck.
- When installing, Inspector now offers the choice of three different locations to save the log: The desktop, the temp directory, or the Inspector installation directory.
- The crash message now includes the first line of the log to see which application just crashed, and offers the options to immediately open the log, or delete it if you don't want to keep it.
- Note: It is not possible to detach a debugger again under Windows after it has been attached to a process, so after a status log has been written, the Inspector process will stay in the background,until the application either crashes or you exit it normally. It is not possible to write a second status log for the same process.
- Changes from v2.5 to v2.6 (v2.6 released 2006-05-30)
- Tracing of ebp stack frames frequently failed, causing them to not be marked with '>' in the stack dump
- Running Inspector in W2K/XP from the command line would not install it correctly, the registry entry was missing the full path, so the system couldn't find Inspector in case of a crash
- Changelog from v2.3 to v2.4 (v2.4 released 2004-11-22)
- In some situations, Inspector itself could crash on NT/W2K/XP while enumerating the DLLs used by Opera. Another instance of Inspector would log that crash, resulting in a crash log with no executable name in the first line and EIP=401798. Bug reports with such crash logs are invalid unless another crash log can be obtained, using the new version which fixes the problem.
- Changelog from v1.0 to v2.3 (v2.3 released 2003-01-06)
- Also reports EXE and DLL names on NT based Windows
- Reports version number for EXE and DLLs, so specifying the build manually is not necessary anymore
- Used DLLs are now dumped after the stack, because the latter is more important if the log is trimmed
- Current date and time is appended to the crash log name, so logs don't get overwritten
- Code cleanup
- Fixed crash when run from other applications than Windows Exporer or the command prompt
- Installation/uninstallation can now cope with incomplete or modified registry entries
- Doesn't crash on executables with packed export section
- Doesn't crash on Java DLL with VersionInfo incorrectly stored by name instead of integer ID
- Installation option to choose log destination directory, either the Windows temp directory or the directory the Inspector executable resides in
Search our knowledge base:
