- Add missing WINVER=0x0501 and _WIN32_WINNT=0x0501 to config_toolset.bat
- Add needed -D_WIN32_WINNT=0x0501 for vc7 to fix unresolved symbols
- Added alternatives to va_copy and vsnprintf in debugger.c
- Add missing fix from previous patch in strings.c
in Emacs GDB mode.
TODO:
* Pipe command output in the child through the debugger rather
than sending it straight to stdout.
* Redirect stdin/stdout/stderr as needed and format the output.
* Add a proper switch between console and mi.
* Finish implementing the stub functions.
* Get Emacs commands for viewing data and the stack working.
* Commands are no longer capped at 8 tokens
* Mark functions as static
* Add declaration of debugger( void ) in debugger.h
* Use f ( void ) instead of f ( )
The interface is a subset of gdb.
TODO:
* Put this behind flag, so it's possible to run b2 without the debugger.
Perhaps -db?
* Keep a command history and allow it to be accessed.
* Abbreviate long arguments in the backtrace, and wrap
long lines better.
* Implement more commands. I'm thinking of watch, condition, and ignore in
particular.
* Test the runtime cost. If it doesn't have any noticable penalty
when it's off, then it's safe to integrate this functionality
into the primary b2 executable.
* Write documentation.
* IDE integration. I'm hoping that I can hijack gdb support for any
editor that has built in support for gdb.