Root > Solving bugs in your code > Bug reports > General section

General section

Previous pageReturn to chapter overviewNext page   

Any EurekaLog's bug report contain the general section which holds single-valued information:

 

Exception:

-----------------------------

 2.2 Address: 005CBFB4

 2.5 Type   : Exception

 2.6 Message: Error Message.

 2.7 ID     : 8F800000

 2.11 Sent  : 0

 

User:

----------------------------------

 3.2 Name : Alex

 3.3 Email: sample@example.com

 

Steps to reproduce:

------------

 8.1 Text: I clicked on "Crash" button

 

Example of a short General section

 

Exactly which information will be included into bug report is configured in options. Exception's address, type, message and BugID (2.2, 2.5, 2.6, and 2.7) are mandatory pieces in any EurekaLog's bug report and can not be removed. Any other information can be enabled or disabled:

 

Application:

-------------------------------------------------------

 1.1 Start Date      : Sat, 17 Aug 2013 19:15:47 +0400

 1.2 Name/Description: Project10.exe

 1.3 Version Number  : 1.0.1.15

 1.4 Parameters      : /TestCrash

 1.5 Compilation Date: Sat, 17 Aug 2013 19:15:30 +0400

 1.6 Up Time         : 2 second(s)

 

Exception:

-----------------------------------------------------

 2.1 Date          : Sat, 17 Aug 2013 19:15:50 +0400

 2.2 Address       : 00000000007F0D43

 2.3 Module Name   : Project10.exe

 2.4 Module Version: 1.0.1.15

 2.5 Type          : ETestException

 2.6 Message       : This is a test exception.

 2.7 ID            : 68260000

 2.8 Count         : 1

 2.9 Status        : New

 2.10 Note         :

 2.11 Sent         : 0

 

User:

-------------------------------------------------------

 3.1 ID        : Alex

 3.2 Name      : Alexander

 3.3 Email     : sample@example.com

 3.4 Company   : Neos Eureka S.r.l.

 3.5 Privileges: SeShutdownPrivilege             - OFF

                 SeChangeNotifyPrivilege         - ON

                 SeUndockPrivilege               - OFF

                 SeIncreaseWorkingSetPrivilege   - OFF

                 SeTimeZonePrivilege             - OFF

 

Active Controls:

----------------------------

 4.1 Form Class   : TForm9

 4.2 Form Text    : Form9

 4.3 Control Class: TButton

 4.4 Control Text : Button7

 

Computer:

------------------------------------------------------------------------------------

 5.1 Name            : TEST-PC

 5.2 Total Memory    : 4293558272 (4.00 Gb)

 5.3 Free Memory     : 1398812672 (1.30 Gb)

 5.4 Total Disk      : 274875805696 (256.00 Gb)

 5.5 Free Disk       : 128265609216 (119.46 Gb)

 5.6 System Up Time  : 6 hour(s), 38 minute(s), 25 second(s)

 5.7 Processor       : Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz

 5.8 Display Mode    : 1827 x 1000, 32 bit

 5.9 Display DPI     : 96

 5.10 Video Card     : VirtualBox Graphics Adapter (driver 4.2.14.0 - RAM 67108864)

 5.11 Printer        : Microsoft XPS Document Writer (driver 6.0.6002.18005)

 5.12 Virtual Machine: VirtualBox

 

Operating System:

------------------------------------------------

 6.1 Type    : Microsoft Windows Vista (64 bit)

 6.2 Build # : 6002

 6.3 Update  : Service pack 2

 6.4 Language: English

 6.5 Charset : 0

 

Network:

---------------------------------

 7.1 IP Address: 192.168.001.243

 7.2 Submask   : 255.255.255.000

 7.3 Gateway   : 192.168.001.001

 7.4 DNS 1     : 192.168.001.001

 7.5 DNS 2     : 000.000.000.000

 7.6 DHCP      : ON            

 

Steps to reproduce:

------------

 8.1 Text: I clicked on "Crash" button

 

Example of a large General section

 

Usually, information in general section is used to identify application, crashed module, error (type/message), and user. It also contains bunch of run-time information (such as hardware info, OS info, etc.). Run-time information (along with modules and processes) serves as auxiliary information when analyzing call stack and assembler/CPU dump.

 

All captions can be localized in options. Values are identified by numbers (like 1.1, 1.2, ...8.1). Values are non-localizable. All values are gathered through OS's information functions and appears "as is" in bug reports.

 

All date-time values are shown in local time zone. There is time-zone shift attached to each date-time value ("+0400" in the example above - which reads as "+4 hours 00 minutes from GMT/UTC, i.e. subtract 4 hours to get UTC time").

 

Memory and disk values are shown in precise and compact form. Precise form is used for machine or when you need exact value. Compact form is used as more human-readable - to get estimate quickly.

 

Application block displays information about application - that is .exe file. If your project is a DLL - then this block will show information about host process, not about your DLL.

Start Date value shows when application was launched. This values is saved on application's startup and is inserted into bug reports unmodified;
Name/Description value shows .exe's file name (without path) and description extracted from version information (if available). "File description" field is used as source for description. Full path can be obtained from Modules section of bug report;
Version Number value shows .exe's version information (if available). dwFileVersion field from VS_FIXEDFILEINFO structure is used as source;
Parameters value shows any command-line arguments passed to application (without exe file itself). This value comes from GetCommandLine function;
Compilation Date value shows date/time when application was compiled. This information is stored inside executable when it's compiled;
Up Time value shows how long application is running. This is delta between Start Date value and current time. This value is not stored anywhere, it is calculated when bug report is created.

 

Note: EurekaLog duplicates "Compilation Date" value inside its information block injected inside executable. Thus, you will get exact and correct compilation time value even if exe header was modified. Please note that some compilers (including old Borland compilers) fails to setup a proper compilation time in PE headers. This means that you may get strange values from non-EurekaLog enabled files (for example, when running your DLL inside non-EurekaLog host).

 

Exception block contains information about raised exception. This block will contain dummy values for hangs and leaks.

Date value shows exact moment when exception (or leak, or hang) was detected;
Address value shows address of machine instruction which raised the exception. Note that this is logical exception address, see CPU section for description;
Module Name shows file name and description for module to which Address value belongs. This value is formed by the same rules as Name/Description value from Application block (see above), but it's gathered from a module which raised exception - which may be or may be not a main exe file;
Module Version value is the same as Version Number value from Application block, but it is taken from exception module;
Type value is class name of exception object;
Message value is error message - that is a value of Message property from exception object;
ID value shows Bug ID. Bug ID is a hash which unique identifies exception/leak/hang;
Count value shows how many times this exception was raised. Typically this value is 1, but it can be more if this exception was raised multiple times before bug report was sent. Please note that this value is not affected by other exceptions raised before this one (that is exceptions with other Bug IDs);
Status value indicate bug tracker's status of the exception. This is obsolete value which exists for backward-compatibility reasons. Older versions of EurekaLog used plain text files as bug database, and this field was used as "New/Opened/Resolved" column;
Note value is the same as Status value - it's obsolete. It was used to hold arbitrary remarks about exception in plain-text database;
Sent value indicate if this report was sent to developers or not. 0 indicate that report was not sent.

 

User block contains information about user account running application:

ID value shows current user account name. This value comes from GetUserName function;
Name value shows full user name (if possible). This value is gathered from multiple sources in the registry;
Email value shows e-mail of the user. This value is supplied by MS Classic error dialog;
Company value shows "Registered Company" value gathered from the registry;
Privileges value shows account privileges of running process;

 

Active Controls block shows information about keyboard focus in GUI applications:

Form Class value shows window class of foreground window. Foreground window is determinated by calling GetForegroundWindow function;
Form Text value shows caption of foreground window;
Control Class value shows window class of focused control. Focused control is determinated by calling GetFocus function;
Control Text value shows caption/text of focused control.

 

Computer block shows hardware information. Values in this block are self-explanatory.

 

Note: Virtual Machine value is filled only when application is running outside of the debugger. That's because probing for virtual machines requires application to try to execute invalid instructions which will raise exceptions (such as "Invalid Instruction" or "Privileged instruction") when application is run on real hardware. So, virtual machine checks are disabled when application is debugged to reduce annoying from raised probing exceptions.

 

Operating System block shows OS information:

Type value shows human-readable name of OS. This value can only show OS known to EurekaLog when application was compiled. This field will show a generic "Windows 8.7" (this is just an example) for any unknown OS version;
Build value shows OS build. This value comes from dwBuildNumber field of GetVersionEx function;
Update value shows installed service pack. This value comes from wServicePack field of GetVersionEx function;
Non-Unicode Language value shows string representation of GetSystemDefaultLangID function. This value is known as "Language for non-Unicode programs" for the user;
Charset/ACP value shows default user locale charset and ANSI code page. These are value of ciCharset and ciACP fields of CharsetInfo structure which is obtained through GetLocaleInfo function for default code page (LOCALE_IDEFAULTANSICODEPAGE) of LOCALE_USER_DEFAULT locale. ciACP field matches GetACP function.
Install language value shows string representation of GetSystemDefaultUILanguage function. This value is known as "Install Language" for the system;
UI language value shows string representation of GetUserDefaultUILanguage function. This value is known as "UI Language" for the user;

 

Note: Microsoft can return false information for backward compatibility reasons. For example, new versions of OS may report themselves as sub-versions of previous OS version. Or it may report service pack 2 being installed when there was no SP released at all (SP 2 is a most popular SP for Windows XP). Application Compatibility layer of OS may also affect these values.

 

Network block shows network information. Values in this block are self-explanatory. Each network adapter will produce a vertical section of values.

 

Steps to reproduce block shows feedback text from user:

Text value is supplied by MS Classic or EurekaLog error dialogs. Usually this is "steps to reproduce" text - that is a textual description entered by end user which explains what user was doing when error occurred.

 

Custom information block shows information supplied by your code via OnCustomDataRequest event handler. Please note that you still have to enable custom information in bug report content options.

 

 

See also:




Send feedback... Build date: 2018-11-26
Last edited: 2018-06-14
PRIVACY STATEMENT
The documentation team uses the feedback submitted to improve the EurekaLog documentation. We do not use your e-mail address for any other purpose. We will remove your e-mail address from our system after the issue you are reporting has been resolved. While we are working to resolve this issue, we may send you an e-mail message to request more information about your feedback. After the issues have been addressed, we may send you an email message to let you know that your feedback has been addressed.


Permanent link to this article: https://www.eurekalog.com/help/eurekalog/bug_report_general.php