After installation the Windows search path must be extended with the path where the binaries of MinGW are installed, for example: "C:\MinGW\bin"
Needed packages:
1 #include <stdlib.h> 2 #include <stdio.h> 3 4 int main(int argc, char** argv) { 5 char* x = NULL; 6 printf("Let it crash with option (%s)...\n", argc > 1 ? argv[1]:"none"); 7 if( x[0] == '1' ) 8 printf("Should have crashed before...\n"); 9 return 0; 10 }
C:\crash> gcc -g crash.c -o crash.exe
The -g
option is for adding debug information.
C:\crash> gdb crash.exe
C:\crash> gdb --args crash.exe docrash
GNU gdb (GDB) 7.2 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "mingw32". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from C:\crash/crash.exe...done. (gdb)
(gdb) run
Starting program: C:\crash/crash.exe [New Thread 2800.0xaf4] Let it crash with option (none)... Program received signal SIGSEGV, Segmentation fault. 0x004013e6 in main (argc=1, argv=0x3e3ea8) at crash.c:7 7 if( x[0] == '1' ) (gdb)
(gdb) bt #0 0x004013ff in main (argc=1, argv=0x3e24c8) at crash.c:7 (gdb)
The crash is reported at line 7 of crash.c:
0x004013e6 in main (argc=1, argv=0x3e3ea8) at crash.c:7
7 if( x[0] == '1' )
The application did try to read memory at address zero which does not belong to the process and is protected by the Operating System.
This information is used by developers to fix the crash.
Please post the complete backtrace in case of a reproducible crash to team@rocrail.net. |
---|
Do not use the "-console" parameter in case the rocrail.exe has to be debugged with gdb, because this will disable backtracing.
C:\Rocrail\meinAbeitsBereich>C:\MinGW\bin\gdb.exe --args "C:\Rocrail\Rocrail.exe" -l C:\Rocrail run