byebug 8.1.0 → 8.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +169 -159
- data/README.md +1 -0
- data/lib/byebug/breakpoint.rb +1 -1
- data/lib/byebug/command.rb +1 -1
- data/lib/byebug/commands.rb +1 -0
- data/lib/byebug/commands/catch.rb +1 -1
- data/lib/byebug/commands/debug.rb +36 -0
- data/lib/byebug/commands/list.rb +1 -1
- data/lib/byebug/commands/method.rb +1 -1
- data/lib/byebug/commands/var/const.rb +2 -2
- data/lib/byebug/frame.rb +2 -1
- data/lib/byebug/helpers/eval.rb +27 -8
- data/lib/byebug/helpers/frame.rb +2 -2
- data/lib/byebug/helpers/var.rb +1 -1
- data/lib/byebug/processors/command_processor.rb +1 -1
- data/lib/byebug/processors/control_processor.rb +2 -0
- data/lib/byebug/processors/script_processor.rb +2 -0
- data/lib/byebug/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 784b994320d0e3c0fe8f3c4fcfe74bb5fb81bdcd
|
4
|
+
data.tar.gz: ae9fda6dcd7bbf932171355d8666f3a7ce5dc59f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42b4da095c53ae1ccb54eac816106918a6e1d00f2ccdc9084dc994322a2f0393d502fed12e19b195d17e012ebf1f0ecd30db21737448ad4d6acd9261d50647fb
|
7
|
+
data.tar.gz: 88f0c640694ab1acf6fb8fffbe98a2c7ffa94ad5c914e253745a80796f1e14aa2c223e059600a2dfc7f90cbcfe56dda948990dff0b542d61af105572e787f975
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
## Master (Unreleased)
|
2
2
|
|
3
|
+
## 8.2.0 - 2015-11-12
|
4
|
+
### Fixed
|
5
|
+
* [#184](https://github.com/deivid-rodriguez/byebug/issues/184) &
|
6
|
+
[#188](https://github.com/deivid-rodriguez/byebug/issues/188), both due
|
7
|
+
to the way of running evaluations in a separate thread.
|
8
|
+
|
9
|
+
### Added
|
10
|
+
* `debug` command to evaluate things in a separate thread, since this behavior
|
11
|
+
was removed from default `eval` to fix the above issues.
|
12
|
+
|
3
13
|
## 8.1.0 - 2015-11-09
|
4
14
|
### Fixed
|
5
15
|
* Command history should be specific per project.
|
@@ -142,403 +152,403 @@ as a dependency.
|
|
142
152
|
|
143
153
|
## 4.0.0 - 2015-03-13
|
144
154
|
### Added
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
155
|
+
* `untracevar` command that stops tracing a global variable.
|
156
|
+
* Window CI build through AppVeyor.
|
157
|
+
* OSX CI build through Travis.
|
158
|
+
* Style enforcement through RuboCop.
|
159
|
+
* C style enforment using the `indent` command line utility.
|
160
|
+
* Some remote debugging tests (thanks @eric-hu).
|
161
|
+
* Printer's support (thanks @astashov).
|
152
162
|
|
153
163
|
### Changed
|
154
|
-
|
155
|
-
|
156
|
-
|
164
|
+
* A lot of internal refactoring.
|
165
|
+
* `tracevar` now requires the full global variable name (with "$").
|
166
|
+
* [#92](https://github.com/deivid-rodriguez/byebug/issues/92). The `catch`
|
157
167
|
command is not allowed in post_mortem mode anymore. It was not working anyways.
|
158
|
-
|
168
|
+
* [#85](https://github.com/deivid-rodriguez/byebug/issues/85). `step` is now
|
159
169
|
more user friendly when used in combination with `up`.
|
160
|
-
|
170
|
+
* `var const` can now be called without an argument and will show constants in
|
161
171
|
the current scope.
|
162
|
-
|
172
|
+
* `break` with a class name now creates breakpoints regardless of class not
|
163
173
|
being yet defined. If that's the case, it gives a warning but the class is
|
164
174
|
created anyways.
|
165
175
|
|
166
176
|
### Fixed
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
177
|
+
* Code reloading issues.
|
178
|
+
* `set fullpath` was not showing fullpaths. Now it is.
|
179
|
+
* `up`, `down` and `frame` commands now work in post_mortem mode (#93).
|
180
|
+
* rc file (`.byebugrc`) loading: invalid commands are just ignored instead of
|
171
181
|
aborting, global (home) rc file is now properly loaded before project's file.
|
172
|
-
|
182
|
+
* [#93](https://github.com/deivid-rodriguez/byebug/issues/93). Backtraces not
|
173
183
|
working in `post_mortem` mode.
|
174
|
-
|
184
|
+
* 'cmd1 ; cmd2 ; ...; cmdN' syntax which allows running several commands
|
175
185
|
sequentially.
|
176
|
-
|
186
|
+
* [#101](https://github.com/deivid-rodriguez/byebug/issues/101). `finish`
|
177
187
|
command not stopping at the correct line.
|
178
|
-
|
188
|
+
* [#106](https://github.com/deivid-rodriguez/byebug/issues/106). `break` with
|
179
189
|
namespaced class, like `break A::B#c` should now work.
|
180
|
-
|
181
|
-
|
190
|
+
* Command history is now persisted before exiting byebug.
|
191
|
+
* Setting breakpoint in a method would stop not only at the beginning of the
|
182
192
|
method but also at the beginning of every block inside the method.
|
183
|
-
|
193
|
+
* [#122](https://github.com/deivid-rodriguez/byebug/issues/122). Setting
|
184
194
|
breakpoints on module methods (@x-yuri).
|
185
195
|
|
186
196
|
### Removed
|
187
|
-
|
197
|
+
* `autoreload` setting as it's not necessary anymore. Code should always be up
|
188
198
|
to date.
|
189
|
-
|
190
|
-
|
191
|
-
|
199
|
+
* `reload` command for the same reason.
|
200
|
+
* Gem dependency on `debugger-linecache`.
|
201
|
+
* `step+`, `step-`, `next+`, `next-`, `set/show linetrace_plus` and
|
192
202
|
`set/show forcestep` commands. These were all mechanisms to deal with TracePoint
|
193
203
|
API event dupplication, but this duplicated events have been completely removed
|
194
204
|
from the API since
|
195
205
|
[r48609](bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/48609), so
|
196
206
|
they are no longer necessary.
|
197
|
-
|
207
|
+
* `info file` subcommands: `info file breakpoints`, `info file mtime`, `info
|
198
208
|
file sha1`, `info file all`. Now all information is listed under `info file`.
|
199
|
-
|
209
|
+
* `testing` setting. It was just a hack to be able to test `byebug`. Nobody was
|
200
210
|
supposed to actually use it!
|
201
|
-
|
202
|
-
|
211
|
+
* `var class` command, just use Ruby (`self.class.class_variables`).
|
212
|
+
* `p` command, just use `eval`, or just type your expression and `byebug` will
|
203
213
|
autoevaluate it.
|
204
|
-
|
214
|
+
* `exit` alias for `quit`.
|
205
215
|
|
206
216
|
## 3.5.1 - 2014-09-29
|
207
217
|
### Fixed
|
208
|
-
|
218
|
+
* [#79](https://github.com/deivid-rodriguez/byebug/issues/79). Windows
|
209
219
|
installation.
|
210
|
-
|
220
|
+
* `condition` command not properly detecting invalid breakpoint ids.
|
211
221
|
|
212
222
|
## 3.5.0 - 2014-09-28
|
213
223
|
### Fixed
|
214
|
-
|
224
|
+
* [#81](https://github.com/deivid-rodriguez/byebug/issues/81). Byebug's history
|
215
225
|
messing up other programs using Readline.
|
216
|
-
|
217
|
-
|
226
|
+
* Readline's history not being properly saved and inmediately available.
|
227
|
+
* User not being notified when trying to debug a non existent script.
|
218
228
|
|
219
229
|
### Changed
|
220
|
-
|
221
|
-
|
222
|
-
|
230
|
+
* Complete rewrite of byebug's history.
|
231
|
+
* Complete rewrite of list command.
|
232
|
+
* Docs about stacktrace related commands (up, down, frame, backtrace).
|
223
233
|
|
224
234
|
## 3.4.2 - 2014-09-26
|
225
235
|
### Fixed
|
226
|
-
|
236
|
+
* [#67](https://github.com/deivid-rodriguez/byebug/issues/67). Debugging
|
227
237
|
commands invoked by ruby executable, as in `byebug -- ruby -Itest a_test.rb
|
228
|
-
|
238
|
+
*n test_something`.
|
229
239
|
|
230
240
|
## 3.4.1 - 2014-09-25
|
231
241
|
### Fixed
|
232
|
-
|
242
|
+
* [#54](https://github.com/deivid-rodriguez/byebug/issues/54). Use of threads
|
233
243
|
inside `eval` command.
|
234
|
-
|
244
|
+
* `list` command not listing backwards after reaching the end of the file.
|
235
245
|
|
236
246
|
## 3.4.0 - 2014-09-01
|
237
247
|
### Fixed
|
238
|
-
|
248
|
+
* deivid-rodriguez/pry-byebug#32 in a better way.
|
239
249
|
|
240
250
|
|
241
251
|
## 3.3.0 - 2014-08-28
|
242
252
|
### Fixed
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
253
|
+
* `set verbose` command.
|
254
|
+
* `set post_mortem false` command.
|
255
|
+
* Debugger stopping in `byebug`'s internal frames in some cases.
|
256
|
+
* `backtrace` crashing when `fullpath` setting disabled and calculated stack
|
247
257
|
size being smaller than the real one.
|
248
258
|
|
249
259
|
## Changed
|
250
|
-
|
260
|
+
* The `-t` option for `bin/byebug` now turns tracing on whereas the `-x` option
|
251
261
|
tells byebug to run the initialization file (.byebugrc) on startup. This is the
|
252
262
|
default behaviour though.
|
253
|
-
|
263
|
+
* `bin/byebug` libified and tests added.
|
254
264
|
|
255
265
|
### Removed
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
266
|
+
* `info locals` command. Use `var local` instead.
|
267
|
+
* `info instance_variables` command. Use `var instance` instead.
|
268
|
+
* `info global_variables` command. Use `var global` instead.
|
269
|
+
* `info variables` command. Use `var all` instead.
|
270
|
+
* `irb` command stepping capabilities, see
|
261
271
|
[8e226d0](https://github.com/deivid-rodriguez/byebug/commit/8e226d0).
|
262
|
-
|
272
|
+
* `script` and `restart-script` options for `bin/byebug`.
|
263
273
|
|
264
274
|
## 3.2.0 - 2014-08-02
|
265
275
|
### Fixed
|
266
|
-
|
276
|
+
* [#71](https://github.com/deivid-rodriguez/byebug/issues/71). Remote debugging
|
267
277
|
(thanks @shuky19).
|
268
|
-
|
278
|
+
* [#69](https://github.com/deivid-rodriguez/byebug/issues/69). `source` command
|
269
279
|
(thanks @Olgagr).
|
270
280
|
|
271
281
|
### Removed
|
272
|
-
|
282
|
+
* `post_mortem` activation through `Byebug.post_mortem`. Use `set post_mortem`
|
273
283
|
instead.
|
274
|
-
|
275
|
-
|
276
|
-
|
284
|
+
* `info stack` command. Use `where` instead.
|
285
|
+
* `method iv` command. Use `var instance` instead.
|
286
|
+
* [#77](https://github.com/deivid-rodriguez/byebug/issues/77). Warning.
|
277
287
|
|
278
288
|
## 3.1.2 - 2014-04-23
|
279
289
|
### Fixed
|
280
|
-
|
281
|
-
|
290
|
+
* (Really) `post_mortem` mode in `bin/byebug`.
|
291
|
+
* Line tracing in `bin/byebug`.
|
282
292
|
|
283
293
|
## 3.1.1 - 2014-04-23
|
284
294
|
### Fixed
|
285
|
-
|
295
|
+
* `post_mortem` mode in bin/byebug.
|
286
296
|
|
287
297
|
## 3.1.0 - 2014-04-23
|
288
298
|
### Removed
|
289
|
-
|
290
|
-
|
299
|
+
* `show commands` command. Use `history` instead.
|
300
|
+
* Byebug.start accepting options. Any program settings you want applied from
|
291
301
|
the start should be set in `.byebugrc`.
|
292
|
-
|
302
|
+
* `trace` command. Use `set linetrace` for line tracing and `tracevar` for
|
293
303
|
global variable tracing.
|
294
|
-
|
295
|
-
|
304
|
+
* `show version` command. Use `byebug --version` to check byebug's version.
|
305
|
+
* `set arg` setting. Use the `restart` command instead.
|
296
306
|
|
297
307
|
### Changed
|
298
|
-
|
308
|
+
* `linetrace_plus` setting renamed to `tracing_plus`.
|
299
309
|
|
300
310
|
### Added
|
301
|
-
|
311
|
+
* `history` command to check byebug's history of previous commands.
|
302
312
|
|
303
313
|
## 3.0.0 - 2014-04-17
|
304
314
|
### Fixed
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
315
|
+
* Plain `byebug` not working when `pry-byebug` installed.
|
316
|
+
* `post_mortem` mode.
|
317
|
+
* Command history not being saved after regular program termination.
|
318
|
+
* [#54](https://github.com/deivid-rodriguez/byebug/issues/54). (Again) calling
|
309
319
|
`Byebug.start` with `Timeout.timeout` (thanks @zmoazeni).
|
310
320
|
|
311
321
|
### Added
|
312
|
-
|
322
|
+
* Allow disabling `post_mortem` mode.
|
313
323
|
|
314
324
|
### Changed
|
315
|
-
|
325
|
+
* `show commands` command for listing history of previous commands now behaves
|
316
326
|
like shell's `history` command.
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
327
|
+
* `show/set history filename` is now `show/set histfile`
|
328
|
+
* `show/set history size` is now `show/set histsize`
|
329
|
+
* `show/set history save` is now `show/set autosave`
|
330
|
+
* `finish` semantics, see
|
321
331
|
[61f9b4d](https://github.com/deivid-rodriguez/byebug/commit/61f9b4d).
|
322
|
-
|
332
|
+
* Use `per project` history file by default.
|
323
333
|
|
324
334
|
## Removed
|
325
|
-
|
335
|
+
* The `init` option for `Byebug.start`. Information to make the `restart`
|
326
336
|
command work is always saved now.
|
327
337
|
|
328
338
|
## 2.7.0 - 2014-02-24
|
329
339
|
### Fixed
|
330
|
-
|
340
|
+
* [#52](https://github.com/deivid-rodriguez/byebug/issues/52). `IGNORED_FILES`
|
331
341
|
slowing down startup.
|
332
|
-
|
342
|
+
* [#53](https://github.com/deivid-rodriguez/byebug/issues/53) and
|
333
343
|
[#54](https://github.com/deivid-rodriguez/byebug/issues/54). Calling
|
334
344
|
`Byebug.start` with `Timeout.timeout`.
|
335
345
|
|
336
346
|
## 2.6.0 - 2014-02-08
|
337
347
|
### Fixed
|
338
|
-
|
348
|
+
* Circular dependency affecting `pry-byebug` (thanks @andreychernih).
|
339
349
|
|
340
350
|
## 2.5.0 - 2013-12-14
|
341
351
|
### Added
|
342
|
-
|
352
|
+
* Support for `sublime-debugger`.
|
343
353
|
|
344
354
|
## 2.4.1 - 2013-12-05
|
345
355
|
### Fixed
|
346
|
-
|
356
|
+
* [#40](https://github.com/deivid-rodriguez/byebug/issues/40). Installation
|
347
357
|
error in Mac OSX (thanks @luislavena).
|
348
358
|
|
349
359
|
## 2.4.0 - 2013-12-02
|
350
360
|
### Fixed
|
351
|
-
|
352
|
-
|
361
|
+
* `thread list` showing too many threads.
|
362
|
+
* Fix setting post mortem mode with `set post_mortem`. Now this is the only
|
353
363
|
post mortem functionality available as specifying `Byebug.post_mortem` with a
|
354
364
|
block has been removed in this version.
|
355
365
|
|
356
366
|
### Added
|
357
|
-
|
358
|
-
|
367
|
+
* (Again) `debugger` as an alias to `byebug` (thanks @wallace).
|
368
|
+
* `-R` option for `bin/byebug` to specify server's hostname:port for remote
|
359
369
|
debugging (thanks @mrkn).
|
360
370
|
|
361
371
|
### Changed
|
362
|
-
|
372
|
+
* Use `require` instead of `require_relative` for loading byebug's extension
|
363
373
|
library (thanks @nobu).
|
364
|
-
|
374
|
+
* `trace variable $foo` should be now `trace variable $foo`.
|
365
375
|
|
366
376
|
## 2.3.1 - 2013-10-17
|
367
377
|
### Fixed
|
368
|
-
|
369
|
-
|
378
|
+
* Breakpoint removal.
|
379
|
+
* Broken test suite.
|
370
380
|
|
371
381
|
## 2.3.0 - 2013-10-09
|
372
382
|
### Added
|
373
|
-
|
383
|
+
* Compatibility with Phusion Passenger Enterprise (thanks @FooBarWidget).
|
374
384
|
|
375
385
|
### Changed
|
376
|
-
|
386
|
+
* More minimalist help system.
|
377
387
|
|
378
388
|
## 2.2.2 - 2013-09-25
|
379
389
|
### Fixed
|
380
|
-
|
390
|
+
* Compilation issue in 64 bit systems.
|
381
391
|
|
382
392
|
## 2.2.1 - 2013-09-24
|
383
393
|
### Fixed
|
384
|
-
|
394
|
+
* [#26](https://github.com/deivid-rodriguez/byebug/issues/26). Compilation issue
|
385
395
|
introduced in `2.2.0`.
|
386
396
|
|
387
397
|
### Changed
|
388
|
-
|
398
|
+
* `show/set stack_trace_on_error` is now `show/set stack_on_error`.
|
389
399
|
|
390
400
|
## 2.2.0 - 2013-09-22
|
391
401
|
### Fixed
|
392
|
-
|
393
|
-
|
402
|
+
* Stack size calculations.
|
403
|
+
* Setting `post_mortem` mode.
|
394
404
|
|
395
405
|
### Added
|
396
|
-
|
406
|
+
* `verbose` setting for TracePoint API event inspection.
|
397
407
|
|
398
408
|
### Changed
|
399
|
-
|
400
|
-
|
409
|
+
* Warning free byebug.
|
410
|
+
* Allow `edit <filename>` without a line number.
|
401
411
|
|
402
412
|
## 2.1.1 - 2013-09-10
|
403
413
|
### Fixed
|
404
|
-
|
414
|
+
* Debugging code inside `-e` Ruby flag.
|
405
415
|
|
406
416
|
## 2.1.0 - 2013-09-08
|
407
417
|
### Fixed
|
408
|
-
|
409
|
-
|
418
|
+
* Remote debugging display.
|
419
|
+
* `eval` crashing when inspecting raised an exception (reported by @iblue).
|
410
420
|
|
411
421
|
### Changed
|
412
|
-
|
413
|
-
|
422
|
+
* `enable breakpoints` now enables every breakpoint.
|
423
|
+
* `disable breakpoints` now disables every breakpoint.
|
414
424
|
|
415
425
|
## 2.0.0 - 2013-08-30
|
416
426
|
### Added
|
417
|
-
|
418
|
-
|
427
|
+
* "Official" definition of a command API.
|
428
|
+
* Thread support.
|
419
429
|
|
420
430
|
### Removed
|
421
|
-
|
431
|
+
* `jump` command. It had never worked.
|
422
432
|
|
423
433
|
### Changed
|
424
|
-
|
434
|
+
* Several internal refactorings.
|
425
435
|
|
426
436
|
## 1.8.2 - 2013-08-16
|
427
437
|
### Fixed
|
428
|
-
|
429
|
-
|
438
|
+
* `save` command now saves the list of `displays`.
|
439
|
+
* Stack size calculation.
|
430
440
|
|
431
441
|
### Changed
|
432
|
-
|
433
|
-
|
442
|
+
* More user friendly regexps for commands.
|
443
|
+
* Better help for some commands.
|
434
444
|
|
435
445
|
## 1.8.1 - 2013-08-12
|
436
446
|
### Fixed
|
437
|
-
|
447
|
+
* Major regression introduced in 1.8.0.
|
438
448
|
|
439
449
|
## 1.8.0 - 2013-08-12
|
440
450
|
### Added
|
441
|
-
|
451
|
+
* Remote debugging support.
|
442
452
|
|
443
453
|
## 1.7.0 - 2013-08-03
|
444
454
|
### Added
|
445
|
-
|
446
|
-
|
447
|
-
|
455
|
+
* List command automatically called after callstack navigation commands.
|
456
|
+
* C-frames specifically marked in the callstack.
|
457
|
+
* C-frames skipped when navigating the callstack.
|
448
458
|
|
449
459
|
## 1.6.1 - 2013-07-10
|
450
460
|
### Fixed
|
451
|
-
|
461
|
+
* Windows compatibiliy: compilation and terminal width issues.
|
452
462
|
|
453
463
|
## 1.6.0 - 2013-07-10
|
454
464
|
### Fixed
|
455
|
-
|
456
|
-
|
465
|
+
* `byebug` placed at the end of a block or method call not working as expected.
|
466
|
+
* `autolist` being applied when Ruby `-e` option used.
|
457
467
|
|
458
468
|
### Changed
|
459
|
-
|
469
|
+
* Backtrace callstyles. Use `long` for detailed frames in callstack and `short`
|
460
470
|
for more concise frames.
|
461
471
|
|
462
472
|
## 1.5.0 - 2013-06-21
|
463
473
|
### Fixed
|
464
|
-
|
474
|
+
* Incomplete backtraces when the debugger was not started at program startup.
|
465
475
|
|
466
476
|
## 1.4.2 - 2013-06-20
|
467
477
|
### Fixed
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
478
|
+
* `help command subcommand` command.
|
479
|
+
* Interaction with Rails Console debugging flag.
|
480
|
+
* `post_mortem` mode when running byebug from the outset.
|
481
|
+
* `no-quit` flag when running byebug from the outset.
|
472
482
|
|
473
483
|
## 1.4.1 - 2013-06-15
|
474
484
|
### Fixed
|
475
|
-
|
476
|
-
|
485
|
+
* Crash when printing some filenames in backtraces.
|
486
|
+
* Allow byebug developers to easily use compilers different from gcc (thanks
|
477
487
|
@GarthSnyder!).
|
478
488
|
|
479
489
|
## 1.4.0 - 2013-06-05
|
480
490
|
### Fixed
|
481
|
-
|
491
|
+
* Memory leaks causing `byebug` to randomly crash.
|
482
492
|
|
483
493
|
### Changed
|
484
|
-
|
494
|
+
* Use the Debug Inspector API for backtrace information.
|
485
495
|
|
486
496
|
## 1.3.1 - 2013-06-02
|
487
497
|
### Fixed
|
488
|
-
|
489
|
-
|
490
|
-
|
498
|
+
* Interaction with Rails debugging flag.
|
499
|
+
* Crash when trying to print lines of code containing the character '%'.
|
500
|
+
* `basename` and `linetrace` options not working together.
|
491
501
|
|
492
502
|
## 1.3.0 - 2013-05-25
|
493
503
|
### Added
|
494
|
-
|
504
|
+
* Support colon-delimited include paths in command-line front-end (@ender672).
|
495
505
|
|
496
506
|
## 1.2.0 - 2013-05-20
|
497
507
|
### Fixed
|
498
|
-
|
508
|
+
* Ctrl+C during command line editing (works like pry/irb).
|
499
509
|
|
500
510
|
### Added
|
501
|
-
|
511
|
+
* `pry` command.
|
502
512
|
|
503
513
|
## 1.1.1 - 2013-05-07
|
504
514
|
### Added
|
505
|
-
|
515
|
+
* `pry-byebug` compatibility.
|
506
516
|
|
507
517
|
### Changed
|
508
|
-
|
509
|
-
|
518
|
+
* Better help system.
|
519
|
+
* Code cleanup.
|
510
520
|
|
511
521
|
## 1.1.0 - 2013-04-30
|
512
522
|
### Added
|
513
|
-
|
523
|
+
* Post Mortem support.
|
514
524
|
|
515
525
|
## 1.0.3 - 2013-04-23
|
516
526
|
### Fixed
|
517
|
-
|
518
|
-
|
527
|
+
* Negative line numbers shown by list command at the beginning of file.
|
528
|
+
* `backtrace` command segfaulting when trying to show info on some frame args.
|
519
529
|
Don't know the reason yet, but the exception is handled now and command does
|
520
530
|
not segfault anymore.
|
521
531
|
|
522
532
|
### Changed
|
523
|
-
|
524
|
-
|
533
|
+
* `autoreload` is set by default now.
|
534
|
+
* Try some thread support (not even close to usable).
|
525
535
|
|
526
536
|
## 1.0.2 - 2013-04-09
|
527
537
|
### Fixed
|
528
|
-
|
538
|
+
* backtraces messed up when using both `next`/`step` and backtrace navigation
|
529
539
|
commands.
|
530
540
|
|
531
541
|
### Changed
|
532
|
-
|
542
|
+
* `autolist` and `autoeval` are default settings now.
|
533
543
|
|
534
544
|
## 1.0.1 - 2013-04-06
|
535
545
|
### Fixed
|
536
|
-
|
546
|
+
* Byebug not loading properly.
|
537
547
|
|
538
548
|
## 1.0.0 - 2013-03-29
|
539
549
|
### Fixed
|
540
|
-
|
550
|
+
* Green test suite.
|
541
551
|
|
542
552
|
## 0.0.1 - 2013-03-18
|
543
553
|
### Added
|
544
|
-
|
554
|
+
* Initial release.
|
data/README.md
CHANGED
data/lib/byebug/breakpoint.rb
CHANGED
data/lib/byebug/command.rb
CHANGED
data/lib/byebug/commands.rb
CHANGED
@@ -2,6 +2,7 @@ require 'byebug/commands/break'
|
|
2
2
|
require 'byebug/commands/catch'
|
3
3
|
require 'byebug/commands/condition'
|
4
4
|
require 'byebug/commands/continue'
|
5
|
+
require 'byebug/commands/debug'
|
5
6
|
require 'byebug/commands/delete'
|
6
7
|
require 'byebug/commands/disable'
|
7
8
|
require 'byebug/commands/display'
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'byebug/command'
|
2
|
+
require 'byebug/helpers/eval'
|
3
|
+
|
4
|
+
module Byebug
|
5
|
+
#
|
6
|
+
# Spawns a subdebugger and evaluates the given expression
|
7
|
+
#
|
8
|
+
class DebugCommand < Command
|
9
|
+
include Helpers::EvalHelper
|
10
|
+
|
11
|
+
def self.regexp
|
12
|
+
/^\s* debug (?:\s+(\S+))? \s*$/x
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.description
|
16
|
+
<<-EOD
|
17
|
+
debug <expression>
|
18
|
+
|
19
|
+
#{short_description}
|
20
|
+
|
21
|
+
Allows, for example, setting breakpoints on expressions evaluated from
|
22
|
+
the debugger's prompt.
|
23
|
+
EOD
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.short_description
|
27
|
+
'Spawns a subdebugger'
|
28
|
+
end
|
29
|
+
|
30
|
+
def execute
|
31
|
+
return puts(help) unless @match[1]
|
32
|
+
|
33
|
+
puts safe_inspect(separate_thread_eval(@match[1]))
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/lib/byebug/commands/list.rb
CHANGED
@@ -30,12 +30,12 @@ module Byebug
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def execute
|
33
|
-
obj =
|
33
|
+
obj = warning_eval(str_obj)
|
34
34
|
unless obj.is_a?(Module)
|
35
35
|
return errmsg(pr('variable.errors.not_module', object: str_obj))
|
36
36
|
end
|
37
37
|
|
38
|
-
constants =
|
38
|
+
constants = warning_eval("#{str_obj}.constants")
|
39
39
|
puts prv(constants.sort.map { |c| [c, obj.const_get(c)] }, 'constant')
|
40
40
|
end
|
41
41
|
|
data/lib/byebug/frame.rb
CHANGED
@@ -47,7 +47,8 @@ module Byebug
|
|
47
47
|
#
|
48
48
|
# Gets local variables for the frame.
|
49
49
|
#
|
50
|
-
# TODO: Use brand new
|
50
|
+
# TODO: Use brand new local_variable_get, local_variable_set and
|
51
|
+
# local_variable defined for rubies >= 2.1
|
51
52
|
#
|
52
53
|
def locals
|
53
54
|
return [] unless _binding
|
data/lib/byebug/helpers/eval.rb
CHANGED
@@ -5,21 +5,28 @@ module Byebug
|
|
5
5
|
#
|
6
6
|
module EvalHelper
|
7
7
|
#
|
8
|
-
# Evaluates +expression+
|
8
|
+
# Evaluates an +expression+ in a separate thread.
|
9
9
|
#
|
10
10
|
# @param expression [String] Expression to evaluate
|
11
11
|
#
|
12
|
-
def
|
13
|
-
allowing_other_threads
|
12
|
+
def separate_thread_eval(expression)
|
13
|
+
allowing_other_threads do
|
14
|
+
in_new_thread { warning_eval(expression) }
|
15
|
+
end
|
14
16
|
end
|
15
17
|
|
16
18
|
#
|
17
|
-
# Evaluates an +expression+ that
|
19
|
+
# Evaluates an +expression+ that might use or defer execution to threads
|
20
|
+
# other than the current one.
|
21
|
+
#
|
22
|
+
# @note This is necessary because when in byebug's prompt, every thread is
|
23
|
+
# "frozen" so that nothing gets run. So we need to unlock threads prior
|
24
|
+
# to evaluation or we will run into a deadlock.
|
18
25
|
#
|
19
26
|
# @param expression [String] Expression to evaluate
|
20
27
|
#
|
21
|
-
def
|
22
|
-
warning_eval(expression)
|
28
|
+
def multiple_thread_eval(expression)
|
29
|
+
allowing_other_threads { warning_eval(expression) }
|
23
30
|
end
|
24
31
|
|
25
32
|
#
|
@@ -80,12 +87,24 @@ module Byebug
|
|
80
87
|
# will get blocked by byebug's main thread.
|
81
88
|
#
|
82
89
|
def allowing_other_threads
|
83
|
-
res = nil
|
84
90
|
Byebug.unlock
|
85
91
|
|
86
|
-
|
92
|
+
res = yield
|
87
93
|
|
88
94
|
Byebug.lock
|
95
|
+
|
96
|
+
res
|
97
|
+
end
|
98
|
+
|
99
|
+
#
|
100
|
+
# Runs the given block in a new thread, waits for it to finish and
|
101
|
+
# returns the new thred's result.
|
102
|
+
#
|
103
|
+
def in_new_thread
|
104
|
+
res = nil
|
105
|
+
|
106
|
+
Thread.new { res = yield }.join
|
107
|
+
|
89
108
|
res
|
90
109
|
end
|
91
110
|
|
data/lib/byebug/helpers/frame.rb
CHANGED
@@ -51,7 +51,7 @@ module Byebug
|
|
51
51
|
end
|
52
52
|
|
53
53
|
#
|
54
|
-
# @param [Integer] A positive or negative integer
|
54
|
+
# @param step [Integer] A positive or negative integer
|
55
55
|
#
|
56
56
|
# @return [Integer] +1 if step is positive / -1 if negative
|
57
57
|
#
|
@@ -63,7 +63,7 @@ module Byebug
|
|
63
63
|
# Convert a possibly negative index to a positive index from the start
|
64
64
|
# of the callstack. -1 is the last position in the stack and so on.
|
65
65
|
#
|
66
|
-
# @param [Integer] Integer to be converted in a proper positive index.
|
66
|
+
# @param i [Integer] Integer to be converted in a proper positive index.
|
67
67
|
#
|
68
68
|
def index_from_start(i)
|
69
69
|
i >= 0 ? i : context.stack_size + i
|
data/lib/byebug/helpers/var.rb
CHANGED
data/lib/byebug/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: byebug
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.
|
4
|
+
version: 8.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Rodriguez
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-11-
|
13
|
+
date: 2015-11-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -67,6 +67,7 @@ files:
|
|
67
67
|
- lib/byebug/commands/catch.rb
|
68
68
|
- lib/byebug/commands/condition.rb
|
69
69
|
- lib/byebug/commands/continue.rb
|
70
|
+
- lib/byebug/commands/debug.rb
|
70
71
|
- lib/byebug/commands/delete.rb
|
71
72
|
- lib/byebug/commands/disable.rb
|
72
73
|
- lib/byebug/commands/disable/breakpoints.rb
|
@@ -193,3 +194,4 @@ signing_key:
|
|
193
194
|
specification_version: 4
|
194
195
|
summary: Ruby 2.0 fast debugger - base + CLI
|
195
196
|
test_files: []
|
197
|
+
has_rdoc:
|