Changes between Initial Version and Version 1 of crash-problem


Ignore:
Timestamp:
Dec 11, 2006 10:11:08 AM (18 years ago)
Author:
bennylp
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • crash-problem

    v1 v1  
     1= Troubleshooting Crash Problem on Win32 = 
     2 
     3The best way to find the crash is to equip your program with debugging info (for the Release mode) so that we can know exactly where the crash location is. A debugging info will not slow down your application, although it will add size to it, so it shouldn't be a problem. 
     4 
     5== Building Application with Debugging Info == 
     6 
     7The instructions here applies for Visual Studio 6: 
     8 * For '''all''' libraries, open ''Project Settings'', then go to ''C/C++ General Tab'', set ''Debug Info'' to '''Program Database'''. 
     9 * Then in the application project, open ''Project Settings'', go to ''Link'' tab, enable '''Generate debug info'''. 
     10 * Rebuild all libraries and application 
     11 
     12Now a .PDB (Program Database) file will be generated for the application. 
     13 
     14== Distributing Application == 
     15 
     16When distributing the application executable, the .PDB file (for the application) needs to be distributed alongside the application. Put the .PDB file on the same directory as the application. 
     17 
     18Note that whenever the application is rebuilt, don't forget to update the .PDB file as well or otherwise the debugging information will not contain the correct information. 
     19 
     20== Testing if Crash Reporting Works == 
     21 
     22Before running the application with real usage, it's probably better to test if the error reporting works correctly.  
     23 
     24Add a code somewhere to simulate a crash, something like: 
     25{{{ 
     26  int *p = (int *)0; 
     27  *p = 0; 
     28}}} 
     29 
     30It's probably best to place this crash generator code somewhere deep in the libraries to make sure that crash in the library is properly reported. 
     31 
     32 
     33== Checking the Crash Report == 
     34 
     35If the target