Any ideas what I might be doing wrong? Or how do I load the core file?
Why does use of valgrind cause programmers to forget general debugging technique? 1. Describe the environment completely. The report does not say which compilers and compiler versions were used, or if the compiler commands contained any directives about debugging format. Such information is necessary to help understand what might be happening with regard to debugging and tracebacks. 2. Get debugging information whenever invoking a compiler. Traceback lines such as "(+0x57a574)[0x682574]" which lack the name of a symbol or file, suggest that "-g" debugging info was not requested for *all* compilations. Start over ("make clean; rm -rf '*.[oa]'") then re-compile every source file, making be sure to specify "-g" and no variant of "-O" or "-On", except possibly "-O0". 3. Optimizing for speed comes after achieving correct execution. If 'inline' is used anywhere, then re-compile with the compile-time argument "-Dinline=/*empty*/" in order to #define 'inline' as a one-word comment. If the behavior of the program changes (any difference at all, excepting only slower execution), then there is a *design error* in the source code. Fix that first. 4. Walk before attempting to run. Did you try a simple example? Write a half-page program with 5 subroutines, each of which calls the next one, and the last one sends SIGABRT to the process. Does the .core file when run under valgrind give the correct traceback using gdb? 5. (Learn and) Use the built-in tools where possible. Run the process interactively, invoking valgrind with "--vgdb-error=0", and giving the debugger command "(gdb) continue" after establishing connectivity between vgdb and the process. See the valgrind manual, section 3.2.9 "vgdb command line options". When the SIGABRT happens, then vgdb will allow you to use all the ordinary gdb commands to get a backtrace, go up and down the stack, examine variables and other memory, run (gdb) info proc (gdb) shell cat /proc/$PID/maps to see exactly the layout of process memory, etc. There are also special commands to access valgrind functionality interactively, such as checking for memory leaks. _______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users