utils 0.6.4 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Rakefile +2 -1
- data/VERSION +1 -1
- data/bin/blameline +2 -2
- data/bin/classify +48 -12
- data/bin/dialog-pick +11 -0
- data/bin/discover +2 -5
- data/bin/edit +1 -1
- data/bin/probe +1 -1
- data/bin/rssr +37 -0
- data/bin/search +3 -2
- data/bin/serve +24 -0
- data/bin/ssh-tunnel +1 -1
- data/bin/strip_spaces +1 -1
- data/bin/utils-utilsrc +1 -1
- data/lib/utils.rb +1 -2
- data/lib/utils/{config/config_file.rb → config_file.rb} +19 -4
- data/lib/utils/editor.rb +1 -1
- data/lib/utils/finder.rb +18 -19
- data/lib/utils/grepper.rb +20 -3
- data/lib/utils/line_blamer.rb +1 -1
- data/lib/utils/patterns.rb +3 -1
- data/lib/utils/version.rb +1 -1
- data/utils.gemspec +9 -9
- metadata +12 -18
- data/bin/utils-install-config +0 -10
- data/lib/utils/config.rb +0 -23
- data/lib/utils/config/gdb/asm +0 -179
- data/lib/utils/config/gdb/ruby +0 -514
- data/lib/utils/config/gdbinit +0 -8
- data/lib/utils/config/irbrc +0 -3
- data/lib/utils/config/rdebugrc +0 -2
- data/lib/utils/config/rvmrc +0 -5
- data/lib/utils/config/screenrc +0 -143
- data/lib/utils/config/utilsrc +0 -14
data/lib/utils/grepper.rb
CHANGED
@@ -31,8 +31,8 @@ class Utils::Grepper
|
|
31
31
|
|
32
32
|
def initialize(opts = {})
|
33
33
|
@args = opts[:args] || {}
|
34
|
-
@roots = opts[:roots]
|
35
|
-
@config = opts[:config] || Utils::
|
34
|
+
@roots = discover_roots(opts[:roots])
|
35
|
+
@config = opts[:config] || Utils::ConfigFile.new
|
36
36
|
if n = @args.values_at(*%w[A B C]).compact.first
|
37
37
|
if n.to_s =~ /\A\d+\Z/ and (n = n.to_i) >= 1
|
38
38
|
@queue = Queue.new n
|
@@ -94,6 +94,16 @@ class Utils::Grepper
|
|
94
94
|
end
|
95
95
|
unless @output.empty?
|
96
96
|
case
|
97
|
+
when @args['b']
|
98
|
+
@output.uniq!
|
99
|
+
@output.each do |l|
|
100
|
+
blamer = LineBlamer.for_line(l)
|
101
|
+
if blame = blamer.perform
|
102
|
+
blame.sub!(/^[0-9a-f^]+/) { Term::ANSIColor.yellow($&) }
|
103
|
+
blame.sub!(/\(([^)]+)\)/) { "(#{Term::ANSIColor.red($1)})" }
|
104
|
+
puts "#{l} #{blame}"
|
105
|
+
end
|
106
|
+
end
|
97
107
|
when @args['l'], @args['e'], @args['E'], @args['r']
|
98
108
|
@output.uniq!
|
99
109
|
@paths.concat @output
|
@@ -114,7 +124,7 @@ class Utils::Grepper
|
|
114
124
|
case
|
115
125
|
when @args['l']
|
116
126
|
@output << @filename
|
117
|
-
when @args['L'], @args['r']
|
127
|
+
when @args['L'], @args['r'], @args['b']
|
118
128
|
@output << "#{@filename}:#{file.lineno}"
|
119
129
|
when @args['e'], @args['E']
|
120
130
|
@output << "#{@filename}:#{file.lineno}"
|
@@ -153,4 +163,11 @@ class Utils::Grepper
|
|
153
163
|
@paths = @paths.sort_by(&:source_location)
|
154
164
|
self
|
155
165
|
end
|
166
|
+
|
167
|
+
private
|
168
|
+
|
169
|
+
def discover_roots(roots)
|
170
|
+
roots ||= []
|
171
|
+
roots.inject([]) { |rs, r| rs.concat Dir[r] }
|
172
|
+
end
|
156
173
|
end
|
data/lib/utils/line_blamer.rb
CHANGED
data/lib/utils/patterns.rb
CHANGED
@@ -19,7 +19,9 @@ module Utils
|
|
19
19
|
class FuzzyPattern < Pattern
|
20
20
|
def initialize(opts ={})
|
21
21
|
super
|
22
|
-
r
|
22
|
+
r = @pattern.split(//).grep(/[0-9a-z]/).map { |x|
|
23
|
+
"(#{Regexp.quote(x)})"
|
24
|
+
} * '.*?'
|
23
25
|
@matcher = Regexp.new(
|
24
26
|
"\\A(?:.*/.*?#{r}|.*#{r})",
|
25
27
|
@icase ? Regexp::IGNORECASE : 0)
|
data/lib/utils/version.rb
CHANGED
data/utils.gemspec
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: utils 0.
|
2
|
+
# stub: utils 0.8.0 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "utils"
|
6
|
-
s.version = "0.
|
6
|
+
s.version = "0.8.0"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib"]
|
10
10
|
s.authors = ["Florian Frank"]
|
11
|
-
s.date = "2016-
|
11
|
+
s.date = "2016-09-30"
|
12
12
|
s.description = "This ruby gem provides some useful command line utilities"
|
13
13
|
s.email = "flori@ping.de"
|
14
|
-
s.executables = ["blameline", "brakeman2err", "chroot-exec", "chroot-libs", "classify", "create_tags", "discover", "edit", "edit_wait", "enum", "errf", "git-empty", "irb_connect", "json_check", "long_lines", "myex", "number_files", "on_change", "path", "probe", "remote_copy", "same_files", "search", "sedit", "ssh-tunnel", "strip_spaces", "unquarantine_apps", "untest", "utils-
|
15
|
-
s.extra_rdoc_files = ["README.md", "lib/utils.rb", "lib/utils/
|
16
|
-
s.files = [".gitignore", "COPYING", "Gemfile", "README.md", "Rakefile", "VERSION", "bin/blameline", "bin/brakeman2err", "bin/chroot-exec", "bin/chroot-libs", "bin/classify", "bin/create_tags", "bin/discover", "bin/edit", "bin/edit_wait", "bin/enum", "bin/errf", "bin/git-empty", "bin/irb_connect", "bin/json_check", "bin/long_lines", "bin/myex", "bin/number_files", "bin/on_change", "bin/path", "bin/probe", "bin/remote_copy", "bin/same_files", "bin/search", "bin/sedit", "bin/ssh-tunnel", "bin/strip_spaces", "bin/unquarantine_apps", "bin/untest", "bin/utils-
|
14
|
+
s.executables = ["blameline", "brakeman2err", "chroot-exec", "chroot-libs", "classify", "create_tags", "dialog-pick", "discover", "edit", "edit_wait", "enum", "errf", "git-empty", "irb_connect", "json_check", "long_lines", "myex", "number_files", "on_change", "path", "probe", "remote_copy", "rssr", "same_files", "search", "sedit", "serve", "ssh-tunnel", "strip_spaces", "unquarantine_apps", "untest", "utils-utilsrc", "vacuum_firefox_sqlite", "xmp"]
|
15
|
+
s.extra_rdoc_files = ["README.md", "lib/utils.rb", "lib/utils/config_file.rb", "lib/utils/editor.rb", "lib/utils/file_xt.rb", "lib/utils/finder.rb", "lib/utils/grepper.rb", "lib/utils/irb.rb", "lib/utils/irb/service.rb", "lib/utils/line_blamer.rb", "lib/utils/line_formatter.rb", "lib/utils/md5.rb", "lib/utils/patterns.rb", "lib/utils/probe_server.rb", "lib/utils/ssh_tunnel_specification.rb", "lib/utils/version.rb", "lib/utils/xt/source_location_extension.rb"]
|
16
|
+
s.files = [".gitignore", "COPYING", "Gemfile", "README.md", "Rakefile", "VERSION", "bin/blameline", "bin/brakeman2err", "bin/chroot-exec", "bin/chroot-libs", "bin/classify", "bin/create_tags", "bin/dialog-pick", "bin/discover", "bin/edit", "bin/edit_wait", "bin/enum", "bin/errf", "bin/git-empty", "bin/irb_connect", "bin/json_check", "bin/long_lines", "bin/myex", "bin/number_files", "bin/on_change", "bin/path", "bin/probe", "bin/remote_copy", "bin/rssr", "bin/same_files", "bin/search", "bin/sedit", "bin/serve", "bin/ssh-tunnel", "bin/strip_spaces", "bin/unquarantine_apps", "bin/untest", "bin/utils-utilsrc", "bin/vacuum_firefox_sqlite", "bin/xmp", "lib/utils.rb", "lib/utils/config_file.rb", "lib/utils/editor.rb", "lib/utils/file_xt.rb", "lib/utils/finder.rb", "lib/utils/grepper.rb", "lib/utils/irb.rb", "lib/utils/irb/service.rb", "lib/utils/line_blamer.rb", "lib/utils/line_formatter.rb", "lib/utils/md5.rb", "lib/utils/patterns.rb", "lib/utils/probe_server.rb", "lib/utils/ssh_tunnel_specification.rb", "lib/utils/version.rb", "lib/utils/xt/source_location_extension.rb", "utils.gemspec", "utils.gemspec "]
|
17
17
|
s.homepage = "http://github.com/flori/utils"
|
18
18
|
s.rdoc_options = ["--title", "Utils - Some useful command line utilities", "--main", "README.md"]
|
19
19
|
s.rubygems_version = "2.5.1"
|
@@ -23,20 +23,20 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.specification_version = 4
|
24
24
|
|
25
25
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
26
|
-
s.add_development_dependency(%q<gem_hadar>, ["~> 1.
|
26
|
+
s.add_development_dependency(%q<gem_hadar>, ["~> 1.8.0"])
|
27
27
|
s.add_runtime_dependency(%q<tins>, ["~> 1.8"])
|
28
28
|
s.add_runtime_dependency(%q<term-ansicolor>, ["~> 1.3"])
|
29
29
|
s.add_runtime_dependency(%q<pstree>, ["~> 0.1"])
|
30
30
|
s.add_runtime_dependency(%q<pry-editline>, [">= 0"])
|
31
31
|
else
|
32
|
-
s.add_dependency(%q<gem_hadar>, ["~> 1.
|
32
|
+
s.add_dependency(%q<gem_hadar>, ["~> 1.8.0"])
|
33
33
|
s.add_dependency(%q<tins>, ["~> 1.8"])
|
34
34
|
s.add_dependency(%q<term-ansicolor>, ["~> 1.3"])
|
35
35
|
s.add_dependency(%q<pstree>, ["~> 0.1"])
|
36
36
|
s.add_dependency(%q<pry-editline>, [">= 0"])
|
37
37
|
end
|
38
38
|
else
|
39
|
-
s.add_dependency(%q<gem_hadar>, ["~> 1.
|
39
|
+
s.add_dependency(%q<gem_hadar>, ["~> 1.8.0"])
|
40
40
|
s.add_dependency(%q<tins>, ["~> 1.8"])
|
41
41
|
s.add_dependency(%q<term-ansicolor>, ["~> 1.3"])
|
42
42
|
s.add_dependency(%q<pstree>, ["~> 0.1"])
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Frank
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gem_hadar
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.8.0
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.8.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: tins
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -89,6 +89,7 @@ executables:
|
|
89
89
|
- chroot-libs
|
90
90
|
- classify
|
91
91
|
- create_tags
|
92
|
+
- dialog-pick
|
92
93
|
- discover
|
93
94
|
- edit
|
94
95
|
- edit_wait
|
@@ -104,14 +105,15 @@ executables:
|
|
104
105
|
- path
|
105
106
|
- probe
|
106
107
|
- remote_copy
|
108
|
+
- rssr
|
107
109
|
- same_files
|
108
110
|
- search
|
109
111
|
- sedit
|
112
|
+
- serve
|
110
113
|
- ssh-tunnel
|
111
114
|
- strip_spaces
|
112
115
|
- unquarantine_apps
|
113
116
|
- untest
|
114
|
-
- utils-install-config
|
115
117
|
- utils-utilsrc
|
116
118
|
- vacuum_firefox_sqlite
|
117
119
|
- xmp
|
@@ -119,8 +121,7 @@ extensions: []
|
|
119
121
|
extra_rdoc_files:
|
120
122
|
- README.md
|
121
123
|
- lib/utils.rb
|
122
|
-
- lib/utils/
|
123
|
-
- lib/utils/config/config_file.rb
|
124
|
+
- lib/utils/config_file.rb
|
124
125
|
- lib/utils/editor.rb
|
125
126
|
- lib/utils/file_xt.rb
|
126
127
|
- lib/utils/finder.rb
|
@@ -148,6 +149,7 @@ files:
|
|
148
149
|
- bin/chroot-libs
|
149
150
|
- bin/classify
|
150
151
|
- bin/create_tags
|
152
|
+
- bin/dialog-pick
|
151
153
|
- bin/discover
|
152
154
|
- bin/edit
|
153
155
|
- bin/edit_wait
|
@@ -163,28 +165,20 @@ files:
|
|
163
165
|
- bin/path
|
164
166
|
- bin/probe
|
165
167
|
- bin/remote_copy
|
168
|
+
- bin/rssr
|
166
169
|
- bin/same_files
|
167
170
|
- bin/search
|
168
171
|
- bin/sedit
|
172
|
+
- bin/serve
|
169
173
|
- bin/ssh-tunnel
|
170
174
|
- bin/strip_spaces
|
171
175
|
- bin/unquarantine_apps
|
172
176
|
- bin/untest
|
173
|
-
- bin/utils-install-config
|
174
177
|
- bin/utils-utilsrc
|
175
178
|
- bin/vacuum_firefox_sqlite
|
176
179
|
- bin/xmp
|
177
180
|
- lib/utils.rb
|
178
|
-
- lib/utils/
|
179
|
-
- lib/utils/config/config_file.rb
|
180
|
-
- lib/utils/config/gdb/asm
|
181
|
-
- lib/utils/config/gdb/ruby
|
182
|
-
- lib/utils/config/gdbinit
|
183
|
-
- lib/utils/config/irbrc
|
184
|
-
- lib/utils/config/rdebugrc
|
185
|
-
- lib/utils/config/rvmrc
|
186
|
-
- lib/utils/config/screenrc
|
187
|
-
- lib/utils/config/utilsrc
|
181
|
+
- lib/utils/config_file.rb
|
188
182
|
- lib/utils/editor.rb
|
189
183
|
- lib/utils/file_xt.rb
|
190
184
|
- lib/utils/finder.rb
|
data/bin/utils-install-config
DELETED
data/lib/utils/config.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'fileutils'
|
2
|
-
|
3
|
-
module Utils
|
4
|
-
module Config
|
5
|
-
extend FileUtils::Verbose
|
6
|
-
|
7
|
-
CONFIG_DIR = File.expand_path(__FILE__).sub(/#{Regexp.quote(File.extname(__FILE__))}\Z/, '')
|
8
|
-
|
9
|
-
def self.install_config
|
10
|
-
srcs = Dir[File.join(CONFIG_DIR, '*')]
|
11
|
-
dst_prefix = ENV['HOME'] or fail 'environment variable $HOME is required'
|
12
|
-
for src in srcs
|
13
|
-
dst = File.join(dst_prefix, ".#{File.basename(src)}")
|
14
|
-
if File.exist?(dst)
|
15
|
-
rm_rf "#{dst}.bak"
|
16
|
-
mv dst, "#{dst}.bak/", :force => true
|
17
|
-
end
|
18
|
-
cp_r src, dst
|
19
|
-
end
|
20
|
-
self
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
data/lib/utils/config/gdb/asm
DELETED
@@ -1,179 +0,0 @@
|
|
1
|
-
|
2
|
-
# ASM DEBUGGING
|
3
|
-
# define special help command "h" that shows asm related commands only
|
4
|
-
#
|
5
|
-
define h
|
6
|
-
echo -------\n
|
7
|
-
echo asm debugging commands, see "help" for other gdb comands\n
|
8
|
-
echo \ \n
|
9
|
-
echo g <adr> exec & set temp break <adr> u <n> disassemble from pc n times\n
|
10
|
-
echo c run program (continue) uu <adr> <n> disassemble from adr n times\n
|
11
|
-
echo n step one instruction ss <n> show stack n locations\n
|
12
|
-
echo nn step but do not enter calls r show registers\n
|
13
|
-
echo until step or run to end of loop db <adr> <n> display bytes\n
|
14
|
-
echo \ dw <adr> <n> display words\n
|
15
|
-
echo q quit gdb dd <adr> <n> display dword\n
|
16
|
-
echo \ ds <adr> <n> display string\n
|
17
|
-
echo bs show breaks \n
|
18
|
-
echo bc clear breaks \n
|
19
|
-
echo \n
|
20
|
-
echo modifying the code within gdb requires reload, recompile easier? \n
|
21
|
-
echo to change register -> set $eax = 0x123456 \n
|
22
|
-
echo ------\n
|
23
|
-
end
|
24
|
-
#
|
25
|
-
# set gdb initialization flags - change these as needed
|
26
|
-
#
|
27
|
-
# eliminate the pesky exit message that says program is running
|
28
|
-
set confirm off
|
29
|
-
set language asm
|
30
|
-
# set disassembly-flavor intel
|
31
|
-
# enable the following to work in hex, the default is decimal
|
32
|
-
set output-radix 16
|
33
|
-
set input-radix 16
|
34
|
-
#
|
35
|
-
# disable pesky hook messages?? this may not be necessary in other versions of gdb
|
36
|
-
#
|
37
|
-
define hook-stop
|
38
|
-
end
|
39
|
-
define hook-continue
|
40
|
-
end
|
41
|
-
#------------- define special commands for assembler -------------------
|
42
|
-
#
|
43
|
-
# go (run) to temporary break location "g <label>"
|
44
|
-
#
|
45
|
-
define g
|
46
|
-
tbreak $arg0
|
47
|
-
continue
|
48
|
-
x/1i $pc
|
49
|
-
echo ----------\n
|
50
|
-
end
|
51
|
-
#
|
52
|
-
# show stack "ss <n>" where n is number of entries to show
|
53
|
-
#
|
54
|
-
define ss
|
55
|
-
x/$arg0xh $esp-(4 * $arg0)
|
56
|
-
end
|
57
|
-
#
|
58
|
-
# define nn to single step over calls
|
59
|
-
#
|
60
|
-
define nn
|
61
|
-
echo --------------
|
62
|
-
nexti
|
63
|
-
printf "eax=%x ebx=%x ecx=%x edx=%x esi=%x edi=%x ebp=%x esp=%x\n",$eax,$ebx,$ecx,$edx,$esi,$edi,$ebp,$esp
|
64
|
-
x /4i $pc
|
65
|
-
end
|
66
|
-
#
|
67
|
-
# define n to single step one instruction
|
68
|
-
#
|
69
|
-
define n
|
70
|
-
echo line-
|
71
|
-
si
|
72
|
-
printf "eax=%x ebx=%x ecx=%x edx=%x esi=%x edi=%x ebp=%x esp=%x eflags=%x\n",$eax,$ebx,$ecx,$edx,$esi,$edi,$ebp,$esp,$eflags
|
73
|
-
#disassemble $pc $pc+14
|
74
|
-
x /4i $pc
|
75
|
-
end
|
76
|
-
#
|
77
|
-
# define "u <n>" to disassemble n locations from $pc
|
78
|
-
#
|
79
|
-
define u
|
80
|
-
# x/$arg0i $eip
|
81
|
-
disassemble $eip $eip+$arg0
|
82
|
-
#disassemble $arg0
|
83
|
-
end
|
84
|
-
#
|
85
|
-
# define "uu <label> <n>" to disassemble n locations from given label
|
86
|
-
#
|
87
|
-
define uu
|
88
|
-
x/$arg1i $arg0
|
89
|
-
# disassemble $arg0 $arg0+$arg1
|
90
|
-
end
|
91
|
-
#
|
92
|
-
# define "bs" show breaks
|
93
|
-
#
|
94
|
-
define bs
|
95
|
-
info break
|
96
|
-
end
|
97
|
-
#
|
98
|
-
# define "bc" clear all breakpoints
|
99
|
-
#
|
100
|
-
define bc
|
101
|
-
delete
|
102
|
-
end
|
103
|
-
#
|
104
|
-
# define "r" show registers
|
105
|
-
#
|
106
|
-
define r
|
107
|
-
echo -----\n
|
108
|
-
printf "eax=%x ebx=%x ecx=%x edx=%x esi=%x edi=%x ebp=%x\n",$eax,$ebx,$ecx,$edx,$esi,$edi,$ebp
|
109
|
-
printf "esp=%x eip=%x flag=%x --> O D I T S Z - AC - P - C\n",$esp,$eip,$eflags
|
110
|
-
echo flags= Overflow, Direction, Interrupt, Trap, Sign, Zero, AuxCarry, Parity, Carry\n
|
111
|
-
x/i $pc
|
112
|
-
echo -----\n
|
113
|
-
end
|
114
|
-
#
|
115
|
-
# define "db <adr> <n>" display <n> bytes at <adr>
|
116
|
-
#
|
117
|
-
define db
|
118
|
-
x/$arg1xb $arg0
|
119
|
-
end
|
120
|
-
#
|
121
|
-
# define "dw <adr> <n>" display <n> words at <adr>
|
122
|
-
#
|
123
|
-
define dw
|
124
|
-
x/$arg1xh $arg0
|
125
|
-
end
|
126
|
-
#
|
127
|
-
# define "dd <adr> <n>" display <n> dwords at <adr>
|
128
|
-
#
|
129
|
-
define dd
|
130
|
-
x/$arg1xw $arg0
|
131
|
-
end
|
132
|
-
#
|
133
|
-
# define "ds <adr> <n>" display <n> char(ascii) at <adr>
|
134
|
-
#
|
135
|
-
define ds
|
136
|
-
x/$arg1cb $arg0
|
137
|
-
end
|
138
|
-
|
139
|
-
# attempt a string display...
|
140
|
-
define dstr
|
141
|
-
x /1sb &$arg0
|
142
|
-
end
|
143
|
-
|
144
|
-
|
145
|
-
set $asm_instruction_counter = 0
|
146
|
-
define icount
|
147
|
-
print "stepi instructions: %d\n", $asm_instruction_counter
|
148
|
-
end
|
149
|
-
|
150
|
-
define hook-n
|
151
|
-
set $asm_instruction_counter = $asm_instruction_counter + 1
|
152
|
-
end
|
153
|
-
|
154
|
-
define icountreset
|
155
|
-
set $asm_instruction_counter = 0
|
156
|
-
end
|
157
|
-
|
158
|
-
#
|
159
|
-
# start of code initialization ----------------------
|
160
|
-
#
|
161
|
-
# to initialize gdb we need to use the "run" command once, first
|
162
|
-
# we display the current instruction, then set a break at next location.
|
163
|
-
# Warning - the first instruction must be one byte long.
|
164
|
-
# Next, we start the program executing (run) then clear all breakpoints.
|
165
|
-
#
|
166
|
-
|
167
|
-
# x /1i *_start
|
168
|
-
# echo ---------------
|
169
|
-
# break *_start+1
|
170
|
-
# run
|
171
|
-
# delete
|
172
|
-
# x /1i *_start+1
|
173
|
-
|
174
|
-
echo \n---------\n
|
175
|
-
echo for some reason nasm symbols appear as functions? ignore\n
|
176
|
-
echo symbol related warnings.\n
|
177
|
-
echo \n
|
178
|
-
echo -------- type <h> for asm cmds <help> for gdb commands\n
|
179
|
-
|