View and Remove Debug Information
Debug Info Viewer
The Debug Info Viewer displays the debug information contained in the file. When an executable is built with debug information, it is customary to include details about the format of the information and where it is. The operating system does not require this to run the executable, but it is useful for development tools. An EXE can have multiple forms of debug information, an array of data structures known as the debug directory indicates what's available. These structures hold information about the type, size, and location of the various types of debug information stored in the file. Three main types of debug information are CodeView, COFF, and FPO.
At this time, only FPO (Frame Pointer Omission) information is supported. FPO data allows the debugger to locate local variables and parameters, this information tells the debugger how to interpret non-standard stack frames, which use the EBP register for a purpose other than as a frame pointer.
Removing Debug Data
PE Explorer allows you to strip off the various types of debug information stored in the file. Your program generally does not see or use this data, neither does the operating system require this to run the executable. Hence, this debug information only wastes space and can be removed from the file. Selecting "Remove Debug Info" from the Tools menu will display the Remove Debug Information dialog.
Many compilers stuff the debug information into the code section and do not create a separate section for it. PE Explorer will fail to completely remove debug information if the section that holds this debug data is pointed to by either the file's header or more than one entry in the Data Directories of the Optional Header. In this case, all the respective pointers and tables will be stripped (set to zero). However, the debug data itself will still remain within the file.