Changes for page Debugging

Last modified by Simon Urli on 2023/10/10 11:46

<
From version < 38.1 >
edited by Vincent Massol
on 2019/03/23 19:28
To version < 40.1 >
edited by Vincent Massol
on 2019/03/23 20:06
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -203,8 +203,10 @@
203 203  
204 204  For more read [[A Byteman tutorial>>https://community.jboss.org/wiki/ABytemanTutorial]] or the [[Reference documentation>>http://downloads.jboss.org/byteman/2.0.1/ProgrammersGuideSinglePage.html]].
205 205  
206 -=== Example ===
206 +=== Examples ===
207 207  
208 +==== Example 1 ====
209 +
208 208  In this example we'll print calls to ##CommonsConfigurationSource.containsKey(...)## with the parameters printed and the time it takes to execute. In addition we'll also print calls to ##XWiki.getDocument(String, XWikiContext)## which is a deprecated method which, for the purpose of this example, we think generate the calls to ##containsKey##.
209 209  
210 210  {{code}}
... ... @@ -254,6 +254,67 @@
254 254  ...
255 255  {{/code}}
256 256  
259 +==== Example 2 ====
260 +
261 +Log calls to ##XWikiDocument#setLock()## and ##XWikiDocument#removeLock()##.
262 +
263 +{{code}}
264 +RULE XWiki Set Lock
265 +CLASS XWikiDocument
266 +METHOD setLock
267 +AT ENTRY
268 +IF TRUE
269 +DO traceln("set lock for user [" + $1 + "], doc = [" + $this + "]")
270 +ENDRULE
271 +
272 +RULE XWiki Remove Lock
273 +CLASS XWikiDocument
274 +METHOD removeLock
275 +AT ENTRY
276 +IF TRUE
277 +DO traceln("remove lock for doc = [" + $this + "]")
278 +ENDRULE
279 +
280 +RULE XWiki Get Lock
281 +CLASS XWikiDocument
282 +METHOD getLock
283 +AT ENTRY
284 +IF TRUE
285 +DO traceln("get lock for doc = [" + $this + "]")
286 +ENDRULE
287 +{{/code}}
288 +
289 +When you click edit and then cancel on a doc you get for example:
290 +
291 +{{code}}
292 +// Edit
293 +get lock for doc = [Sandbox.WebHome]
294 +set lock for user [XWiki.Admin], doc = [Sandbox.WebHome]
295 +get lock for doc = [Sandbox.WebHome]
296 +get lock for doc = [Sandbox.WebHome]
297 +set lock for user [XWiki.Admin], doc = [Sandbox.WebHome]
298 +
299 +// Cancel
300 +get lock for doc = [Sandbox.WebHome]
301 +remove lock for doc = [Sandbox.WebHome]
302 +{{/code}}
303 +
304 +When you click edit and then save on a doc you get for example:
305 +
306 +{{code}}
307 +// Edit
308 +get lock for doc = [Sandbox.WebHome]
309 +set lock for user [XWiki.Admin], doc = [Sandbox.WebHome]
310 +get lock for doc = [Sandbox.WebHome]
311 +get lock for doc = [Sandbox.WebHome]
312 +set lock for user [XWiki.Admin], doc = [Sandbox.WebHome]
313 +
314 +// Save
315 +get lock for doc = [Sandbox.WebHome]
316 +remove lock for doc = [Sandbox.WebHome]
317 +get lock for doc = [Sandbox.WebHome]
318 +{{/code}}
319 +
257 257  === Troubleshooting ===
258 258  
259 259  ==== NoClassDefFoundError: com/sun/tools/attach/AttachNotSupportedException ====

Get Connected