Debugging a crash
-----------------

In the unlikely event that you have a problem with burp crashing, I would like
to be able to fix it.
This is easier if the crash is reproducible. That is, if you can run the
client on the command line and watch it crash on demand.

You then need to run it in a debugger. I use gdb. There are Windows versions
of gdb too.

How to get gdb for Windows:
Go to the following URL.
http://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/gdb/
If you are using 32 bit Windows, download one of the i686- variants.
If you are using 64 bit Windows, download one of the x86_64- variants.
Unpack the download to C:\

To run gdb on Windows:
cd "C:\Program Files\Burp\bin"
Change mingw32 to mingw64 in the following if you are using the 64 bit version.
C:\mingw32\bin\gdb.exe --args burp.exe (append the arguments that make it crash)
Then enter "run" and the program will start running.
When it crashes, enter "bt", and it will hopefully give you useful information
for tracking down the code that it ran before it crashed.

Send the output to the mailing list.

If you are not running Windows, running gdb is exactly the same except that
the paths to gdb and burp are simpler.


If you have a problem with a burp server crashing, then the procedure is the
same, except that I always find it easier to run the server in 'no-fork' and
'foreground' mode. You can do this with '-F -n' appended to the server
arguments.
