2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-13 12:22:17 +00:00
Commit Graph

33 Commits

Author SHA1 Message Date
Jonathan Wakely
8ff11a8ecc Fix memory leak
If vsnprintf returns -1 then the buffer should be freed before returning.
2018-10-10 17:17:10 +01:00
Mike Sullivan
b8329d25a8 boost/build: fix ch declaration in debugger.c 2018-08-20 11:34:15 +00:00
Steven Watanabe
33d6396afd Fix memory leak. Fixes #326. 2018-07-27 11:13:45 -06:00
Steven Watanabe
d2b64dc55d Fix crash in the debugger's backtrace when a built-in function is on the stack. 2017-12-20 15:33:01 -07:00
Steven Watanabe
e31489760c breakpoints should work even if they're hit repeatedly. 2017-12-15 15:15:54 -07:00
Steven Watanabe
192dedd2ee Fix debug builds of the debugger. Fixes #245. Fixes #246. 2017-12-05 18:26:09 -07:00
Rene Rivera
2b44ccf5dc Avoid various pedantic warnings. 2017-10-28 23:21:40 -05:00
Ion Gaztañaga
5377199473 More fixes for MSVC 7.1:
- 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
2017-08-13 22:24:57 -05:00
Steven Watanabe
f33cb39478 Add missing #include. 2017-05-09 17:38:52 -06:00
Steven Watanabe
80c0f5f8d2 Tests for MI. 2017-03-30 13:24:09 -06:00
Steven Watanabe
0d7e0c9c27 Fix performance problems when not using the debugger. 2017-03-11 09:38:21 -07:00
Steven Watanabe
27ec3bf2d8 Add documentation and test error conditions. 2017-03-09 12:16:30 -07:00
Steven Watanabe
8f92b128bd Get mi working again. Improve tests and error handling. 2017-03-06 17:48:37 -07:00
Steven Watanabe
c7b2c57e79 Start testing mi. 2016-03-10 12:49:57 -07:00
Steven Watanabe
0da0a8ccf4 Unbreak msvc build. 2016-02-23 14:39:04 -07:00
Steven Watanabe
340756c61e Add clear to help 2016-02-23 09:53:50 -07:00
Steven Watanabe
7d7de34346 More testing. Fix some issues exposed by the new tests. 2016-02-20 18:30:55 -07:00
Steven Watanabe
2a5032261f Get backtrace working and add some more tests. 2016-02-17 10:30:48 -07:00
Steven Watanabe
5424ef24d4 Add tests and get break output to work in console mode. 2016-02-16 14:35:31 -07:00
Steven Watanabe
7a46ea5202 Get print+breakpoints+stepping to work with both console and mi. 2016-02-11 11:14:17 -07:00
Steven Watanabe
b263f1aae0 Work on un-mixing stdout and debugger internal comunication. 2016-01-11 12:27:23 -07:00
Steven Watanabe
0704b0f0af Create a flag for running the debugger. Also start splitting the text interface from the gdm/mi interface. 2015-12-14 13:33:55 -07:00
Steven Watanabe
c0ef46eeab Add support for clearing breakpoints. 2015-12-11 13:34:11 -07:00
Steven Watanabe
31692f06f9 Check for a child when printing the stack. 2015-12-11 13:02:37 -07:00
Steven Watanabe
7c8de02c3f Really commit the code that I intended to add in the last commit. Also add support for viewing the stack. 2015-12-10 19:48:01 -07:00
Steven Watanabe
daa67700ed Implement printing values for MI. 2015-12-10 17:16:13 -07:00
Steven Watanabe
48aca139d5 Start implementing GDB/MI. Basic commands for running work
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.
2015-03-31 13:23:54 -06:00
Steven Watanabe
d0594ad5d5 Cleanup.
* 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 ( )
2015-03-23 17:23:58 -06:00
Steven Watanabe
e611b28a20 Normalize paths when setting breakpoints, so it isn't necessary to match the exact name used to load the file. Also allow setting a breakpoint with just a filename, i.e. gcc.jam:73. 2015-03-23 16:57:21 -06:00
Steven Watanabe
78d045e0df Make sure that finish stops when returning from a tail call. 2015-03-23 11:45:47 -06:00
Steven Watanabe
eb1e353840 Fix $(ARGV[1]) on *nix. 2015-03-23 11:37:27 -06:00
Steven Watanabe
ed8bf16ecc Improve test to decide whether a breakpoint is the name of a function or a file+line. Rule names can contain ':' when the module name includes an absolute path on Windows. e.g. Jamfile<C:\boost>.tag. 2015-03-23 11:05:20 -06:00
Steven Watanabe
3721fec260 Initial implementation of a debugger for Jam.
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.
2015-03-21 17:21:36 -06:00