sentry_breakpad 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b9b6a01345334d3ef90217d42f2cb5b23ea443d8
4
- data.tar.gz: a4715adda95154c7a53424cc95a67fd2ce81f830
3
+ metadata.gz: e30ef493060a397277ce84f8cb3fab1be6bd1e89
4
+ data.tar.gz: 654f5782d69f66c9bd3197b2da79817a839b267a
5
5
  SHA512:
6
- metadata.gz: 5a47920f71884452109a08f99c2a49789c876e4a6cee95268cd6be7b92c0d4f5bda08c4b70d6ef9f19f23b5ebf6682992c3786006f25b3377e4a30e9e55b26e3
7
- data.tar.gz: 89d7bcf13b9fd9084a56d9387e67df05f21c24c3b8b74c2ed1d99dbb030c5d98762566d6bff2a871dd208a2be3383f8c8f6dab51f4bbb7988dbf2980259ff478
6
+ metadata.gz: ba93fc35a757bd0171cf8eec7e7af234e37972faaa48c8edfb1641e5e23b20fdaac3a6ac90ecf479d009b26a4d1d32361a209944c0061945030419162c75ad9d
7
+ data.tar.gz: 96a284c2e1b430256cf60f744253dda5fc46b1a09182c6f215fed211c3dacc995331009d18466baefaff648f6887510659fa60964b860be4389e4f734fc3d385
data/README.md CHANGED
@@ -1,8 +1,95 @@
1
1
  # SentryBreakpad
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/sentry_breakpad`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ So you've integrated [Google
4
+ Breakpad](https://chromium.googlesource.com/breakpad/breakpad/) into your C/C++
5
+ application, and that gives you nicely formatted reports, such as
4
6
 
5
- TODO: Delete this and the text above, and describe your gem
7
+ ```
8
+ Operating system: Windows NT
9
+ 6.1.7601 Service Pack 1
10
+ CPU: x86
11
+ GenuineIntel family 6 model 70 stepping 1
12
+ 4 CPUs
13
+
14
+ Crash reason: EXCEPTION_ACCESS_VIOLATION_READ
15
+ Crash address: 0xfffffffffee1dead
16
+
17
+ Thread 0 (crashed)
18
+ 0 ETClient.exe!QString::~QString() [qstring.h : 992 + 0xa]
19
+ eip = 0x00d74e3a esp = 0x0018d1b4 ebp = 0x0018d1b8 ebx = 0x01ad947c
20
+ esi = 0x05850000 edi = 0x058277f8 eax = 0xfee1dead ecx = 0xfee1dead
21
+ edx = 0x00000004 efl = 0x00210282
22
+ Found by: given as instruction pointer in context
23
+ 1 ETClient.exe!QString::`scalar deleting destructor'(unsigned int) + 0xf
24
+ eip = 0x00d9161f esp = 0x0018d1c0 ebp = 0x0018d1c4
25
+ Found by: call frame info
26
+ 2 ETClient.exe!buggyFunc() [machinelistitem.cpp : 181 + 0x1d]
27
+ eip = 0x00daaea3 esp = 0x0018d1cc ebp = 0x0018d1dc
28
+ Found by: call frame info
29
+ 3 ETClient.exe!MachineListItem::on_EditButtonClicked() [machinelistitem.cpp : 197 + 0x5]
30
+ eip = 0x00da5dd4 esp = 0x0018d1e4 ebp = 0x0018d250
31
+ Found by: call frame info
32
+ 4 ETClient.exe!MachineListItem::qt_static_metacall(QObject *,QMetaObject::Call,int,void * *) [moc_machinelistitem.cpp : 115 + 0x8]
33
+ eip = 0x00de14a1 esp = 0x0018d258 ebp = 0x0018d27c
34
+ Found by: call frame info
35
+ 5 ETClient.exe!QMetaObject::activate(QObject *,int,int,void * *) + 0x4cf
36
+ eip = 0x0135329f esp = 0x0018d284 ebp = 0x00000000
37
+ Found by: call frame info
38
+
39
+ Thread 1
40
+ 0 ntdll.dll + 0x2019d
41
+ eip = 0x7744019d esp = 0x03bffb64 ebp = 0x03bffcf8 ebx = 0x7745c4f8
42
+ esi = 0x003d9148 edi = 0x00000000 eax = 0x00000000 ecx = 0x00000000
43
+ edx = 0x00000000 efl = 0x00000246
44
+ Found by: given as instruction pointer in context
45
+ 1 kernel32.dll + 0x1338a
46
+ eip = 0x75d3338a esp = 0x03bffd00 ebp = 0x03bffd04
47
+ Found by: previous frame's frame pointer
48
+ 2 ntdll.dll + 0x39882
49
+ eip = 0x77459882 esp = 0x03bffd0c ebp = 0x03bffd44
50
+ Found by: previous frame's frame pointer
51
+ 3 ntdll.dll + 0x39855
52
+ eip = 0x77459855 esp = 0x03bffd4c ebp = 0x03bffd5c
53
+ Found by: previous frame's frame pointer
54
+
55
+ Thread 2
56
+ 0 ntdll.dll + 0x21f86
57
+ eip = 0x77441f86 esp = 0x00d4f770 ebp = 0x00d4f8d0 ebx = 0x00010003
58
+ esi = 0x00000002 edi = 0x003dc490 eax = 0x00000001 ecx = 0x00000000
59
+ edx = 0x00000000 efl = 0x00000246
60
+ Found by: given as instruction pointer in context
61
+ 1 kernel32.dll + 0x1338a
62
+ eip = 0x75d3338a esp = 0x00d4f8d8 ebp = 0x00d4f8dc
63
+ Found by: previous frame's frame pointer
64
+ 2 ntdll.dll + 0x39882
65
+ eip = 0x77459882 esp = 0x00d4f8e4 ebp = 0x00d4f91c
66
+ Found by: previous frame's frame pointer
67
+ 3 ntdll.dll + 0x39855
68
+ eip = 0x77459855 esp = 0x00d4f924 ebp = 0x00d4f934
69
+ Found by: previous frame's frame pointer
70
+
71
+ Loaded modules:
72
+ 0x00d70000 - 0x01b39fff ETClient.exe ??? (main)
73
+ 0x67070000 - 0x671a8fff libeay32.dll 1.0.2.4
74
+ 0x71020000 - 0x71090fff msvcp120.dll 12.0.21005.1
75
+ 0x71370000 - 0x713bbfff ssleay32.dll 1.0.2.4
76
+ 0x72470000 - 0x724effff uxtheme.dll 6.1.7600.16385
77
+ 0x726e0000 - 0x726f2fff dwmapi.dll 6.1.7601.18917
78
+ 0x73160000 - 0x7316dfff RpcRtRemote.dll 6.1.7601.17514
79
+ 0x731e0000 - 0x7321afff rsaenh.dll 6.1.7600.16385
80
+ 0x73250000 - 0x7329efff webio.dll 6.1.7601.17725
81
+ 0x732a0000 - 0x732f7fff winhttp.dll 6.1.7601.17514
82
+ 0x73380000 - 0x73396fff cryptsp.dll 6.1.7601.18741
83
+ ```
84
+
85
+ All well and good, but it's hard to reliably keep track of these reports... what bugs
86
+ are new, which should be resolved, which are happening the most...?
87
+
88
+ Then you think you could use [Sentry](https://getsentry.com) to help you track your
89
+ Breakpad reports.
90
+
91
+ This gem makes it easy to parse Breakpad reports like the above and format them into
92
+ Sentry events.
6
93
 
7
94
  ## Installation
8
95
 
@@ -22,7 +109,40 @@ Or install it yourself as:
22
109
 
23
110
  ## Usage
24
111
 
25
- TODO: Write usage instructions here
112
+ Simply feed the content of a breakpad report to `SentryBreakpad.send_from_string`
113
+
114
+ ```ruby
115
+ my_breakpad_report = "Operating system: Windows NT\n 6.1.7601 Service Pack 1..."
116
+ SentryBreakpad.send_from_string(my_breakpad_report)
117
+ ```
118
+
119
+ If you want, you can also use `SentryBreakpad.send_from_file` instead, to read a
120
+ breakpad report from the disk, and send it to Sentry:
121
+
122
+ ```ruby
123
+ SentryBreakpad.send_from_file('/path/to/report')
124
+ ```
125
+
126
+ Both functions take an extra argument to allow you to add extra information to the
127
+ generated Sentry event, e.g.:
128
+
129
+ ```ruby
130
+ SentryBreakpad.send_from_file('/path/to/report', {
131
+ 'release' => '12.4',
132
+ 'extra' => {
133
+ 'time_running' => 25632
134
+ },
135
+ 'tags' => {
136
+ 'build_type' => 'release'
137
+ }
138
+ })
139
+ ```
140
+
141
+ The exhaustive list of all the extra information that can be passed can be found
142
+ at https://github.com/getsentry/raven-ruby/blob/0.15.3/lib/raven/event.rb#L31-L49.
143
+
144
+ Please note that all of the above assumes that `Raven` has been properly configured
145
+ (we use `Raven.client` to send the generated events)
26
146
 
27
147
  ## Development
28
148
 
@@ -32,10 +152,9 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
32
152
 
33
153
  ## Contributing
34
154
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/sentry_breakpad.
155
+ Bug reports and pull requests are welcome on GitHub at https://github.com/wk8/sentry_breakpad.
36
156
 
37
157
 
38
158
  ## License
39
159
 
40
160
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
41
-
@@ -196,8 +196,7 @@ module SentryBreakpad
196
196
 
197
197
  frame = {
198
198
  'filename' => filename,
199
- 'function' => function,
200
- 'module' => 'sentry.interfaces.Stacktrace'
199
+ 'function' => function
201
200
  }
202
201
  frame['lineno'] = lineno.to_i if lineno
203
202
 
@@ -1,3 +1,3 @@
1
1
  module SentryBreakpad
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentry_breakpad
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean Rouge