debug 1.0.0.alpha1 → 1.0.0.beta5

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.
data/lib/debug/repl.rb DELETED
@@ -1,69 +0,0 @@
1
- require_relative 'session'
2
-
3
- module DEBUGGER__
4
- class UI_Repl
5
- def initialize
6
- end
7
-
8
- def quit n
9
- exit n
10
- end
11
-
12
- def ask prompt
13
- print prompt
14
- (gets || '').strip
15
- end
16
-
17
- def puts str
18
- case str
19
- when Array
20
- str.each{|line|
21
- $stdout.puts line.chomp
22
- }
23
- when String
24
- str.each_line{|line|
25
- $stdout.puts line.chomp
26
- }
27
- when nil
28
- $stdout.puts
29
- end
30
- end
31
-
32
- begin
33
- require 'readline'
34
- def readline
35
- setup_interrupt do
36
- str = Readline.readline("\n(rdb) ", true)
37
- (str || 'quit').strip
38
- end
39
- end
40
- rescue LoadError
41
- def readline
42
- setup_interrupt do
43
- print "\n(rdb) "
44
- (gets || 'quit').strip
45
- end
46
- end
47
- end
48
-
49
- def setup_interrupt
50
- current_thread = Thread.current # should be session_server thread
51
-
52
- prev_handler = trap(:INT){
53
- current_thread.raise Interrupt
54
- }
55
-
56
- yield
57
- ensure
58
- trap(:INT, prev_handler)
59
- end
60
- end
61
-
62
- initialize_session UI_Repl.new
63
-
64
- PREV_HANDLER = trap(:SIGINT){
65
- ThreadClient.current.on_trap
66
- }
67
-
68
- DEBUGGER__.add_line_breakpoint $0, 1
69
- end
@@ -1,22 +0,0 @@
1
- require 'socket'
2
- require_relative 'server'
3
-
4
- module DEBUGGER__
5
- class UI_TcpServer < UI_Server
6
- def accept
7
- host = ENV[''] || 'localhost'
8
- port = ENV['RUBY_DEBUG_PORT'] || raise("Specify listening port by RUBY_DEBUG_PORT environment variable.")
9
- port = port.to_i.tap{|i| i != 0 || raise("Specify valid port number (#{port} is specified)")}
10
-
11
- $stderr.puts "Debugger can attach via TCP/IP (#{host}:#{port})"
12
- Socket.tcp_server_loop(host, port) do |sock, client|
13
- yield sock
14
- end
15
- rescue => e
16
- $stderr.puts e.message
17
- exit
18
- end
19
- end
20
-
21
- initialize_session UI_TcpServer.new
22
- end
@@ -1,18 +0,0 @@
1
- require_relative 'server'
2
- require_relative 'config'
3
-
4
- module DEBUGGER__
5
- class UI_UnixDomainServer < UI_Server
6
- def accept
7
- @file = DEBUGGER__.create_unix_domain_socket_name
8
-
9
- $stderr.puts "Debugger can attach via UNIX domain socket (#{@file})"
10
- Socket.unix_server_loop @file do |sock, addr|
11
- @client_addr = addr
12
- yield sock
13
- end
14
- end
15
- end
16
-
17
- initialize_session UI_UnixDomainServer.new
18
- end