byebug 8.1.0 → 8.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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:
|