sentry_breakpad 0.1.6 → 0.1.7

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 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