rbx-trepanning 0.0.2-universal-rubinius-1.2 → 0.0.3-universal-rubinius-1.2

Sign up to get free protection for your applications and to get access to all the features.
data/app/options.rbc CHANGED
@@ -449,21 +449,23 @@ x
449
449
  12
450
450
  show_version
451
451
  i
452
- 17
452
+ 19
453
453
  45
454
454
  0
455
455
  1
456
456
  47
457
- 101
457
+ 49
458
458
  2
459
+ 0
459
460
  7
460
461
  3
461
462
  45
462
463
  4
463
464
  5
464
465
  47
465
- 101
466
+ 49
466
467
  2
468
+ 0
467
469
  63
468
470
  3
469
471
  11
@@ -495,7 +497,7 @@ n
495
497
  p
496
498
  5
497
499
  I
498
- -1
500
+ 0
499
501
  I
500
502
  24
501
503
  I
@@ -503,7 +505,7 @@ I
503
505
  I
504
506
  25
505
507
  I
506
- 11
508
+ 13
507
509
  x
508
510
  54
509
511
  /home/rocky-rvm/.rvm/src/rbx-trepanning/app/options.rb
@@ -726,7 +728,7 @@ each
726
728
  p
727
729
  9
728
730
  I
729
- -1
731
+ 0
730
732
  I
731
733
  28
732
734
  I
@@ -842,7 +844,7 @@ x
842
844
  13
843
845
  setup_options
844
846
  i
845
- 132
847
+ 135
846
848
  57
847
849
  19
848
850
  0
@@ -853,16 +855,18 @@ i
853
855
  48
854
856
  0
855
857
  47
856
- 101
858
+ 49
857
859
  1
860
+ 0
858
861
  7
859
862
  2
860
863
  45
861
864
  3
862
865
  4
863
866
  47
864
- 101
867
+ 49
865
868
  1
869
+ 0
866
870
  7
867
871
  5
868
872
  63
@@ -903,8 +907,9 @@ i
903
907
  15
904
908
  16
905
909
  47
906
- 101
910
+ 49
907
911
  1
912
+ 0
908
913
  63
909
914
  2
910
915
  56
@@ -1030,7 +1035,7 @@ x
1030
1035
  13
1031
1036
  setup_options
1032
1037
  i
1033
- 76
1038
+ 78
1034
1039
  57
1035
1040
  19
1036
1041
  0
@@ -1059,7 +1064,7 @@ i
1059
1064
  5
1060
1065
  1
1061
1066
  8
1062
- 75
1067
+ 77
1063
1068
  45
1064
1069
  0
1065
1070
  6
@@ -1069,7 +1074,7 @@ i
1069
1074
  7
1070
1075
  1
1071
1076
  9
1072
- 58
1077
+ 59
1073
1078
  21
1074
1079
  2
1075
1080
  2
@@ -1078,8 +1083,9 @@ i
1078
1083
  20
1079
1084
  0
1080
1085
  47
1081
- 101
1086
+ 49
1082
1087
  9
1088
+ 0
1083
1089
  7
1084
1090
  10
1085
1091
  63
@@ -1088,7 +1094,7 @@ i
1088
1094
  11
1089
1095
  1
1090
1096
  8
1091
- 75
1097
+ 77
1092
1098
  21
1093
1099
  2
1094
1100
  2
@@ -1097,8 +1103,9 @@ i
1097
1103
  20
1098
1104
  0
1099
1105
  47
1100
- 101
1106
+ 49
1101
1107
  9
1108
+ 0
1102
1109
  7
1103
1110
  12
1104
1111
  63
@@ -1180,11 +1187,11 @@ I
1180
1187
  I
1181
1188
  3f
1182
1189
  I
1183
- 3a
1190
+ 3b
1184
1191
  I
1185
1192
  41
1186
1193
  I
1187
- 4c
1194
+ 4e
1188
1195
  x
1189
1196
  54
1190
1197
  /home/rocky-rvm/.rvm/src/rbx-trepanning/app/options.rb
@@ -1253,7 +1260,11 @@ x
1253
1260
  3
1254
1261
  []=
1255
1262
  p
1256
- 3
1263
+ 5
1264
+ I
1265
+ 0
1266
+ I
1267
+ 44
1257
1268
  I
1258
1269
  0
1259
1270
  I
@@ -1285,7 +1296,7 @@ x
1285
1296
  13
1286
1297
  setup_options
1287
1298
  i
1288
- 77
1299
+ 79
1289
1300
  57
1290
1301
  19
1291
1302
  0
@@ -1299,7 +1310,7 @@ i
1299
1310
  2
1300
1311
  1
1301
1312
  9
1302
- 59
1313
+ 60
1303
1314
  45
1304
1315
  0
1305
1316
  3
@@ -1325,7 +1336,7 @@ i
1325
1336
  2
1326
1337
  15
1327
1338
  8
1328
- 57
1339
+ 58
1329
1340
  21
1330
1341
  2
1331
1342
  2
@@ -1334,8 +1345,9 @@ i
1334
1345
  20
1335
1346
  0
1336
1347
  47
1337
- 101
1348
+ 49
1338
1349
  8
1350
+ 0
1339
1351
  7
1340
1352
  9
1341
1353
  63
@@ -1344,7 +1356,7 @@ i
1344
1356
  10
1345
1357
  1
1346
1358
  8
1347
- 76
1359
+ 78
1348
1360
  21
1349
1361
  2
1350
1362
  2
@@ -1353,8 +1365,9 @@ i
1353
1365
  20
1354
1366
  0
1355
1367
  47
1356
- 101
1368
+ 49
1357
1369
  8
1370
+ 0
1358
1371
  7
1359
1372
  12
1360
1373
  63
@@ -1432,11 +1445,11 @@ I
1432
1445
  I
1433
1446
  50
1434
1447
  I
1435
- 3b
1448
+ 3c
1436
1449
  I
1437
1450
  53
1438
1451
  I
1439
- 4d
1452
+ 4f
1440
1453
  x
1441
1454
  54
1442
1455
  /home/rocky-rvm/.rvm/src/rbx-trepanning/app/options.rb
@@ -1465,7 +1478,7 @@ x
1465
1478
  13
1466
1479
  setup_options
1467
1480
  i
1468
- 50
1481
+ 51
1469
1482
  57
1470
1483
  19
1471
1484
  0
@@ -1479,7 +1492,7 @@ i
1479
1492
  2
1480
1493
  1
1481
1494
  9
1482
- 48
1495
+ 49
1483
1496
  21
1484
1497
  2
1485
1498
  0
@@ -1503,8 +1516,9 @@ i
1503
1516
  20
1504
1517
  0
1505
1518
  47
1506
- 101
1519
+ 49
1507
1520
  6
1521
+ 0
1508
1522
  7
1509
1523
  7
1510
1524
  63
@@ -1513,7 +1527,7 @@ i
1513
1527
  8
1514
1528
  1
1515
1529
  8
1516
- 49
1530
+ 50
1517
1531
  1
1518
1532
  11
1519
1533
  I
@@ -1575,11 +1589,11 @@ I
1575
1589
  I
1576
1590
  5a
1577
1591
  I
1578
- 30
1592
+ 31
1579
1593
  I
1580
1594
  58
1581
1595
  I
1582
- 32
1596
+ 33
1583
1597
  x
1584
1598
  54
1585
1599
  /home/rocky-rvm/.rvm/src/rbx-trepanning/app/options.rb
@@ -1654,7 +1668,11 @@ x
1654
1668
  4
1655
1669
  puts
1656
1670
  p
1657
- 5
1671
+ 7
1672
+ I
1673
+ 0
1674
+ I
1675
+ 5d
1658
1676
  I
1659
1677
  0
1660
1678
  I
@@ -1742,7 +1760,11 @@ x
1742
1760
  4
1743
1761
  puts
1744
1762
  p
1745
- 5
1763
+ 7
1764
+ I
1765
+ 0
1766
+ I
1767
+ 61
1746
1768
  I
1747
1769
  0
1748
1770
  I
@@ -1773,67 +1795,67 @@ I
1773
1795
  I
1774
1796
  37
1775
1797
  I
1776
- e
1798
+ f
1777
1799
  I
1778
1800
  38
1779
1801
  I
1780
- 20
1802
+ 22
1781
1803
  I
1782
1804
  3a
1783
1805
  I
1784
- 28
1806
+ 2a
1785
1807
  I
1786
1808
  3b
1787
1809
  I
1788
- 2b
1810
+ 2d
1789
1811
  I
1790
1812
  3a
1791
1813
  I
1792
- 31
1814
+ 33
1793
1815
  I
1794
1816
  44
1795
1817
  I
1796
- 36
1818
+ 38
1797
1819
  I
1798
1820
  45
1799
1821
  I
1800
- 40
1822
+ 43
1801
1823
  I
1802
1824
  44
1803
1825
  I
1804
- 46
1826
+ 49
1805
1827
  I
1806
1828
  4b
1807
1829
  I
1808
- 57
1830
+ 5a
1809
1831
  I
1810
1832
  56
1811
1833
  I
1812
- 5f
1834
+ 62
1813
1835
  I
1814
1836
  57
1815
1837
  I
1816
- 62
1838
+ 65
1817
1839
  I
1818
1840
  56
1819
1841
  I
1820
- 68
1842
+ 6b
1821
1843
  I
1822
1844
  5d
1823
1845
  I
1824
- 76
1846
+ 79
1825
1847
  I
1826
1848
  61
1827
1849
  I
1828
- 7b
1850
+ 7e
1829
1851
  I
1830
1852
  62
1831
1853
  I
1832
- 7e
1854
+ 81
1833
1855
  I
1834
1856
  61
1835
1857
  I
1836
- 84
1858
+ 87
1837
1859
  x
1838
1860
  54
1839
1861
  /home/rocky-rvm/.rvm/src/rbx-trepanning/app/options.rb
@@ -1848,7 +1870,7 @@ new
1848
1870
  p
1849
1871
  5
1850
1872
  I
1851
- -1
1873
+ 0
1852
1874
  I
1853
1875
  34
1854
1876
  I
data/interface/script.rbc CHANGED
@@ -704,9 +704,9 @@ x
704
704
  10
705
705
  initialize
706
706
  p
707
- 25
707
+ 23
708
708
  I
709
- -1
709
+ 0
710
710
  I
711
711
  15
712
712
  I
@@ -734,10 +734,6 @@ I
734
734
  I
735
735
  1d
736
736
  I
737
- 56
738
- I
739
- 1c
740
- I
741
737
  59
742
738
  I
743
739
  1e
@@ -813,7 +809,7 @@ close
813
809
  p
814
810
  5
815
811
  I
816
- -1
812
+ 0
817
813
  I
818
814
  26
819
815
  I
@@ -870,7 +866,7 @@ x
870
866
  p
871
867
  5
872
868
  I
873
- -1
869
+ 0
874
870
  I
875
871
  2f
876
872
  I
@@ -1054,9 +1050,9 @@ x
1054
1050
  5
1055
1051
  raise
1056
1052
  p
1057
- 21
1053
+ 17
1058
1054
  I
1059
- -1
1055
+ 0
1060
1056
  I
1061
1057
  35
1062
1058
  I
@@ -1076,18 +1072,10 @@ I
1076
1072
  I
1077
1073
  3b
1078
1074
  I
1079
- 2a
1080
- I
1081
- 3a
1082
- I
1083
1075
  30
1084
1076
  I
1085
1077
  3c
1086
1078
  I
1087
- 40
1088
- I
1089
- 39
1090
- I
1091
1079
  43
1092
1080
  I
1093
1081
  40
@@ -1142,7 +1130,7 @@ p
1142
1130
  p
1143
1131
  3
1144
1132
  I
1145
- -1
1133
+ 0
1146
1134
  I
1147
1135
  46
1148
1136
  I
@@ -1287,7 +1275,7 @@ msg
1287
1275
  p
1288
1276
  17
1289
1277
  I
1290
- -1
1278
+ 0
1291
1279
  I
1292
1280
  4a
1293
1281
  I
@@ -1458,7 +1446,7 @@ raise
1458
1446
  p
1459
1447
  11
1460
1448
  I
1461
- -1
1449
+ 0
1462
1450
  I
1463
1451
  59
1464
1452
  I
data/lib/trepanning.rb CHANGED
@@ -19,7 +19,7 @@ require_relative '../io/null_output'
19
19
  #
20
20
 
21
21
  class Trepan
22
- VERSION = '0.0.2'
22
+ VERSION = '0.0.3'
23
23
 
24
24
  attr_accessor :breakpoint # Breakpoint. The current breakpoint we are
25
25
  # stopped at or nil if none.
data/lib/trepanning.rbc CHANGED
@@ -673,7 +673,7 @@ x
673
673
  VERSION
674
674
  s
675
675
  5
676
- 0.0.2
676
+ 0.0.3
677
677
  x
678
678
  9
679
679
  const_set
@@ -8,25 +8,27 @@ class Trepan::Command::FinishCommand < Trepan::Command
8
8
  unless defined?(HELP)
9
9
  NAME = File.basename(__FILE__, '.rb')
10
10
  HELP = <<-HELP
11
- #{NAME} [levels]
11
+ #{NAME}
12
+ #{NAME}+
12
13
 
13
- Continue execution until leaving the current function.
14
- Sometimes this is called 'step out'.
14
+ Continue execution until leaving the current method. Sometimes this
15
+ is called 'step out'.
15
16
 
16
- When `levels' is specified, that many frame levels need to be
17
- popped. The default is 1. Note that 'yield' and exceptions raised my
18
- reduce the number of stack frames. Also, if a thread is switched, we
19
- stop ignoring levels.
17
+ Normally, stopping occurs just before the return on or yield out of a
18
+ method. However sometimes one wants go to the calling method or place
19
+ just beyond the current method.For this, suffix the command or an
20
+ alias of it with a plus sign. The disadvantange of this is that you
21
+ will no longer be in the scope of the method and so you won't be able
22
+ to see variables of that method.
20
23
 
21
- 'next>' is similar in that it stops at a return, but it doesn't
22
- guarantee the stack level is the same as or less than the current
23
- one.
24
+ Examples:
25
+ #{NAME}
26
+ #{NAME}+
24
27
 
25
- See the break command if you want to stop at a particular point in a
26
- program. In general, '#{NAME}', 'step' and 'next' may slow a program down
27
- while 'break' will have less overhead.
28
+ See also commands:
29
+ 'continue', 'break', 'next', 'nexti', 'step' for other ways to continue.
28
30
  HELP
29
- ALIASES = %w(fin)
31
+ ALIASES = %w(fin finish+ fin+)
30
32
  CATEGORY = 'running'
31
33
  # execution_set = ['Running']
32
34
  MAX_ARGS = 1 # Need at most this many.
@@ -36,19 +38,19 @@ while 'break' will have less overhead.
36
38
 
37
39
  # This method runs the command
38
40
  def run(args) # :nodoc
39
- opts = {}
41
+ opts = @proc.parse_next_step_suffix(args[0])
40
42
  if args.size == 1
41
43
  # Form is: "finish" which means "finish 1"
42
44
  level_count = 0
43
45
  else
44
46
  count_str = args[1]
45
- opts = {
47
+ count_opts = {
46
48
  :msg_on_error =>
47
49
  "The '#{NAME}' command argument must eval to an integer. Got: %s" %
48
50
  count_str,
49
51
  :min_value => 1
50
52
  }
51
- count = @proc.get_an_int(count_str, opts)
53
+ count = @proc.get_an_int(count_str, count_opts)
52
54
  return unless count
53
55
  # step 1 is core.level_count = 0 or "stop next event"
54
56
  level_count = count - 1
@@ -64,11 +66,11 @@ end
64
66
  if __FILE__ == $0
65
67
  require_relative '../mock'
66
68
  dbgr, cmd = MockDebugger::setup
67
- [%W(#{cmd.name} 1), %w(fin 2-1), %w(n foo)].each do |c|
68
- cmd.proc.leave_cmd_loop = false
69
- result = cmd.run(c)
70
- puts 'Run result: %s' % result
71
- puts 'leave_cmd_loop: %s' % cmd.proc.leave_cmd_loop
69
+ [%W(#{cmd.name}), %w(fin 2-1), %w(n foo)].each do |c|
70
+ cmd.proc.instance_variable_set('@return_to_program', false)
71
+ cmd.run(c)
72
+ puts 'return_to_program: %s' % cmd.proc.instance_variable_get('@return_to_program')
73
+ puts 'step_count: %s' % cmd.proc.instance_variable_get('@step_count')
72
74
  end
73
75
  [%w(fin), [cmd.name]].each do |c|
74
76
  cmd.proc.leave_cmd_loop = false
@@ -24,8 +24,8 @@ previously shown.
24
24
  If the command has a '>' suffix, then line centering is disabled and
25
25
  listing begins at the specificed location.
26
26
 
27
- The number of line to show is controled by the debugger listsize
28
- setting. Use 'set listsize' or 'show listsize' to see or set the
27
+ The number of lines to show is controlled by the debugger "list size"
28
+ setting. Use 'set max list' or 'show max list' to see or set the
29
29
  value.
30
30
 
31
31
  \"#{NAME} -\" shows lines before a previous listing.
@@ -8,10 +8,32 @@ class Trepan::Command::StepCommand < Trepan::Command
8
8
  CATEGORY = 'running'
9
9
  NAME = File.basename(__FILE__, '.rb')
10
10
  HELP = <<-HELP
11
+ #{NAME}[+|-] [into] [count]
12
+ #{NAME} over [args..]
13
+ #{NAME} out [args..]
14
+
15
+ Execute the current line, stopping at the next line. Sometimes this
16
+ is called 'step into'.
17
+
11
18
  Behaves like 'next', but if there is a method call on the current line,
12
- exception is stopped in the called method.
19
+ execution is stopped in the called method.
20
+
21
+ Examples:
22
+ #{NAME} # step 1 line
23
+ #{NAME} 1 # same as above
24
+ #{NAME} into # same as above
25
+ #{NAME} into 1 # same as above
26
+ #{NAME} 5/5+0 # same as above
27
+ #{NAME}+ # same but force stopping on a new line
28
+ #{NAME}- # same but force stopping on a new line a new frame added
29
+ #{NAME} over # same as 'next'
30
+ #{NAME} out # same as 'finish'
13
31
 
14
- See also 'continue', 'next' and 'nexti' commands.
32
+ Related and similar is the 'next' (step over) and 'finish' (step out)
33
+ commands.
34
+
35
+ See also the commands:
36
+ 'continue', 'next', 'nexti' and 'finish' for other ways to progress execution.
15
37
  HELP
16
38
  NEED_RUNNING = true
17
39
  SHORT_HELP = 'Step into next method call or to next line'
@@ -27,16 +49,22 @@ See also 'continue', 'next' and 'nexti' commands.
27
49
  step_count = 1
28
50
  opts = {}
29
51
  else
30
- step_str = args[1]
31
- opts = @proc.parse_next_step_suffix(step_str)
32
- count_opts = {
33
- :msg_on_error =>
34
- "The #{NAME} command argument must eval to an integer. Got: %s" %
35
- step_str,
36
- :min_value => 1
37
- }
38
- step_count = @proc.get_an_int(step_str, count_opts)
39
- return unless step_count
52
+ replace_cmd = Keyword_to_related_cmd[args[1]]
53
+ if replace_cmd
54
+ cmd = @proc.commands[replace_cmd]
55
+ return cmd.run([replace_cmd] + args[2..-1])
56
+ else
57
+ step_str = args[1]
58
+ opts = @proc.parse_next_step_suffix(args[0])
59
+ count_opts = {
60
+ :msg_on_error =>
61
+ "The #{NAME} command argument must eval to an integer. Got: %s" %
62
+ step_str,
63
+ :min_value => 1
64
+ }
65
+ step_count = @proc.get_an_int(step_str, count_opts)
66
+ return unless step_count
67
+ end
40
68
  end
41
69
 
42
70
  @proc.step('step', step_count, opts)
@@ -46,4 +74,11 @@ end
46
74
  if __FILE__ == $0
47
75
  require_relative '../mock'
48
76
  dbgr, cmd = MockDebugger::setup
77
+ [%W(#{cmd.name}), %W(#{cmd.name} 2), %W(#{cmd.name} into 1+2),
78
+ %W(#{cmd.name} over)].each do |c|
79
+ cmd.proc.instance_variable_set('@return_to_program', false)
80
+ cmd.run(c)
81
+ puts 'return_to_program: %s' % cmd.proc.instance_variable_get('@return_to_program')
82
+ puts 'step_count: %s' % cmd.proc.instance_variable_get('@step_count')
83
+ end
49
84
  end